Skip to contentSkip to conversation

mpt2sas: Corrected conditional checks for Internal device Reset

PATCH In review Kashyap, Desai 1 participant 1 message Mar 17, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 2/11 mpt2sas: Corrected conditional checks for Internal device Reset

bug fix in the handling of the internal device reset event
The reason code check in scsih_sas_device_status_change_event never evaluates as true for internal device reset, hence driver never quiesce s IO when firmware is sending a device reset. The fix is to change the evaluate to:
if (event_data->ReasonCode !=

    MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET &&
   event_data->ReasonCode !=
    MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET)
        return;

---

drivers/scsi/mpt2sas/mpt2sas_scsih.c +3 -3
index b2d6d75..cd0f245 100644
@@ -4434,10 +4434,10 @@ _scsih_sas_device_status_change_event(struct MPT2SAS_ADAPTER *ioc,
 		     event_data);
 #endif
 
-	if (!(event_data->ReasonCode ==
+	if (event_data->ReasonCode !=
 	    MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET &&
-	   event_data->ReasonCode ==
-	    MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET))
+	   event_data->ReasonCode !=
+	    MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET)
 		return;
 
 	spin_lock_irqsave(&ioc->sas_device_lock, flags);