pm80xx: Remove unnecessary phy disconnect while link error
If the link error happens, we don't need to disconnect the phy, which will remove the drive. Instead acknowledging the controller and logging the error will be enough. Signed-off-by: Viswas G <Viswas.G@pmcs.com> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@pmcs.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
Родитель
3b700e3411
Коммит
3b77894b2c
|
@ -3176,9 +3176,6 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
|||
pm8001_printk("HW_EVENT_LINK_ERR_INVALID_DWORD\n"));
|
||||
pm80xx_hw_event_ack_req(pm8001_ha, 0,
|
||||
HW_EVENT_LINK_ERR_INVALID_DWORD, port_id, phy_id, 0, 0);
|
||||
sas_phy_disconnected(sas_phy);
|
||||
phy->phy_attached = 0;
|
||||
sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR);
|
||||
break;
|
||||
case HW_EVENT_LINK_ERR_DISPARITY_ERROR:
|
||||
PM8001_MSG_DBG(pm8001_ha,
|
||||
|
@ -3186,9 +3183,6 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
|||
pm80xx_hw_event_ack_req(pm8001_ha, 0,
|
||||
HW_EVENT_LINK_ERR_DISPARITY_ERROR,
|
||||
port_id, phy_id, 0, 0);
|
||||
sas_phy_disconnected(sas_phy);
|
||||
phy->phy_attached = 0;
|
||||
sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR);
|
||||
break;
|
||||
case HW_EVENT_LINK_ERR_CODE_VIOLATION:
|
||||
PM8001_MSG_DBG(pm8001_ha,
|
||||
|
@ -3196,9 +3190,6 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
|||
pm80xx_hw_event_ack_req(pm8001_ha, 0,
|
||||
HW_EVENT_LINK_ERR_CODE_VIOLATION,
|
||||
port_id, phy_id, 0, 0);
|
||||
sas_phy_disconnected(sas_phy);
|
||||
phy->phy_attached = 0;
|
||||
sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR);
|
||||
break;
|
||||
case HW_EVENT_LINK_ERR_LOSS_OF_DWORD_SYNCH:
|
||||
PM8001_MSG_DBG(pm8001_ha, pm8001_printk(
|
||||
|
@ -3206,9 +3197,6 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
|||
pm80xx_hw_event_ack_req(pm8001_ha, 0,
|
||||
HW_EVENT_LINK_ERR_LOSS_OF_DWORD_SYNCH,
|
||||
port_id, phy_id, 0, 0);
|
||||
sas_phy_disconnected(sas_phy);
|
||||
phy->phy_attached = 0;
|
||||
sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR);
|
||||
break;
|
||||
case HW_EVENT_MALFUNCTION:
|
||||
PM8001_MSG_DBG(pm8001_ha,
|
||||
|
|
Загрузка…
Ссылка в новой задаче