mpt2sas: Corrected conditional checks for Internal device Reset
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;Signed-off-by Kashyap Desai <[email protected]>
---
drivers/scsi/mpt2sas/mpt2sas_scsih.c +3 -3
@@ -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);