FreeBSD/sys/dev/mrsas/mrsas.c
/**
 * mrsas_complete_outstanding_ioctls	Complete pending IOCTLS after kill_hba
 * input:			Controller softc
 *
 * Returns void
 */
mrsas_complete_outstanding_ioctls    Complete pending IOCTLS after kill_hba
input:                       Controller softc

Returns void
mrsas_complete_outstanding_ioctls Complete pending IOCTLS after kill_hba input : Controller softc Returns void
void 
mrsas_complete_outstanding_ioctls(struct mrsas_softc *sc)
{
	int i;
	struct mrsas_mpt_cmd *cmd_mpt;
	struct mrsas_mfi_cmd *cmd_mfi;
	u_int32_t count, MSIxIndex;
	count = sc->msix_vectors > 0 ? sc->msix_vectors : 1;
	for (i = 0; i < sc->max_fw_cmds; i++) {
		cmd_mpt = sc->mpt_cmd_list[i];
		if (cmd_mpt->sync_cmd_idx != (u_int32_t)MRSAS_ULONG_MAX) {
			cmd_mfi = sc->mfi_cmd_list[cmd_mpt->sync_cmd_idx];
			if (cmd_mfi->sync_cmd && cmd_mfi->frame->hdr.cmd != MFI_CMD_ABORT) {
				for (MSIxIndex = 0; MSIxIndex < count; MSIxIndex++)
					mrsas_complete_mptmfi_passthru(sc, cmd_mfi,
					    cmd_mpt->io_request->RaidContext.status);
			}
		}
	}
}
void mrsas_complete_outstanding_ioctls ( struct mrsas_softc * sc ) { int i ; struct mrsas_mpt_cmd * cmd_mpt ; struct mrsas_mfi_cmd * cmd_mfi ; u_int32_t count , MSIxIndex ; count = sc -> msix_vectors > 0 ? sc -> msix_vectors : 1 ; for ( i = 0 ; i < sc -> max_fw_cmds ; i ++ ) { cmd_mpt = sc -> mpt_cmd_list [ i ] ; if ( cmd_mpt -> sync_cmd_idx != ( u_int32_t ) MRSAS_ULONG_MAX ) { cmd_mfi = sc -> mfi_cmd_list [ cmd_mpt -> sync_cmd_idx ] ; if ( cmd_mfi -> sync_cmd && cmd_mfi -> frame -> hdr . cmd != MFI_CMD_ABORT ) { for ( MSIxIndex = 0 ; MSIxIndex < count ; MSIxIndex ++ ) mrsas_complete_mptmfi_passthru ( sc , cmd_mfi , cmd_mpt -> io_request -> RaidContext . status ) ; } } } }
mrsas_complete_outstanding_ioctls    Complete pending IOCTLS after kill_hba
 input:                       Controller softc
mrsas_complete_outstanding_ioctls Complete pending IOCTLS after kill_hba input : Controller softc