- fusion - error handling bug fix's
Subsystems (2)
PATCH 8/9 - fusion - error handling bug fix's
misc error handling bug fix's
- properly interpret iocstatus returned after task management request
- clear tmState after a failed doorbell
- cleanup mptscsih_taskmgmt_complete
Signed-off-by Eric Moore <[email protected]>
drivers/message/fusion/mptbase.c +7 -7
@@ -916,7 +916,7 @@ mpt_add_sge(char *pAddr, u32 flagslengthint mpt_send_handshake_request (int handle,MPT_ADAPTER *ioc,int reqBytes,u32 *req,int sleepFlag) { -int r =0 ; +int r =0 ;u8 *req_as_bytes;int ii;
@@ -3219,6 +3219,9 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignu32 diag1val =0 ;#endif +/* Clear any existing interrupts */ +CHIPREG_WRITE32 (&ioc->chip->IntStatus,0 ); +if (ioc->pcidev->device ==MPI_MANUFACTPAGE_DEVID_SAS1078 ) { drsprintk((MYIOC_s_WARN_FMT "%s: Doorbell=%p; 1078 reset " "address=%p\n", ioc->name, __FUNCTION__,
@@ -3238,7 +3241,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ign" count=%d\n" , ioc->name, doorbell, count));if (doorbell ==MPI_IOC_STATE_READY ) { -return 0 ; +return 1 ; }/* wait 1 sec */
@@ -3250,9 +3253,6 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignreturn -1 ; } -/* Clear any existing interrupts */ -CHIPREG_WRITE32 (&ioc->chip->IntStatus,0 ); -/* Use "Diagnostic reset" method! (only thing available!) */ diag0val =CHIPREG_READ32 (&ioc->chip->Diagnostic);
@@ -3968,7 +3968,7 @@ WaitForDoorbellAck(MPT_ADAPTER *ioc, int } }else {while (--cntdn) { -mdelay (1 ); +udelay (1000 ); intstat =CHIPREG_READ32 (&ioc->chip->IntStatus);if (! (intstat &MPI_HIS_IOP_DOORBELL_STATUS ))break ;
@@ -4020,7 +4020,7 @@ WaitForDoorbellInt(MPT_ADAPTER *ioc, int intstat =CHIPREG_READ32 (&ioc->chip->IntStatus);if (intstat &MPI_HIS_DOORBELL_INTERRUPT )break ; -mdelay (1 ); +udelay (1000 ); count++; } }
drivers/message/fusion/mptctl.c +1 -1
@@ -313,7 +313,7 @@ static void mptctl_timeout_expired (MPT_*/ dctlprintk ((MYIOC_s_INFO_FMT"Calling HardReset! \n" , ioctl->ioc->name)); -mpt_HardResetHandler (ioctl->ioc,NO_SLEEP ); +mpt_HardResetHandler (ioctl->ioc,CAN_SLEEP ); }return ;
drivers/message/fusion/mptscsih.c +145 -150
470 lines not on this page · raw message