diff options
| -rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_scsih.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c index 9ec50729d535..86ab32d7ab15 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c | |||
| @@ -4067,15 +4067,16 @@ _scsih_sas_topology_change_event(struct MPT2SAS_ADAPTER *ioc, | |||
| 4067 | } | 4067 | } |
| 4068 | if (ioc->shost_recovery) | 4068 | if (ioc->shost_recovery) |
| 4069 | return; | 4069 | return; |
| 4070 | if (event_data->PHY[i].PhyStatus & | 4070 | phy_number = event_data->StartPhyNum + i; |
| 4071 | MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT) | 4071 | reason_code = event_data->PHY[i].PhyStatus & |
| 4072 | MPI2_EVENT_SAS_TOPO_RC_MASK; | ||
| 4073 | if ((event_data->PHY[i].PhyStatus & | ||
| 4074 | MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT) && (reason_code != | ||
| 4075 | MPI2_EVENT_SAS_TOPO_RC_TARG_NOT_RESPONDING)) | ||
| 4072 | continue; | 4076 | continue; |
| 4073 | handle = le16_to_cpu(event_data->PHY[i].AttachedDevHandle); | 4077 | handle = le16_to_cpu(event_data->PHY[i].AttachedDevHandle); |
| 4074 | if (!handle) | 4078 | if (!handle) |
| 4075 | continue; | 4079 | continue; |
| 4076 | phy_number = event_data->StartPhyNum + i; | ||
| 4077 | reason_code = event_data->PHY[i].PhyStatus & | ||
| 4078 | MPI2_EVENT_SAS_TOPO_RC_MASK; | ||
| 4079 | link_rate_ = event_data->PHY[i].LinkRate >> 4; | 4080 | link_rate_ = event_data->PHY[i].LinkRate >> 4; |
| 4080 | switch (reason_code) { | 4081 | switch (reason_code) { |
| 4081 | case MPI2_EVENT_SAS_TOPO_RC_PHY_CHANGED: | 4082 | case MPI2_EVENT_SAS_TOPO_RC_PHY_CHANGED: |
