aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/hisi_sas/hisi_sas_main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index dd03dcbd3786..d8204bc3931b 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include "hisi_sas.h" 12#include "hisi_sas.h"
13#include "../libsas/sas_internal.h"
13#define DRV_NAME "hisi_sas" 14#define DRV_NAME "hisi_sas"
14 15
15#define DEV_IS_GONE(dev) \ 16#define DEV_IS_GONE(dev) \
@@ -2126,9 +2127,18 @@ static int hisi_sas_write_gpio(struct sas_ha_struct *sha, u8 reg_type,
2126 2127
2127static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy) 2128static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy)
2128{ 2129{
2130 struct asd_sas_phy *sas_phy = &phy->sas_phy;
2131 struct sas_phy *sphy = sas_phy->phy;
2132 struct sas_phy_data *d = sphy->hostdata;
2133
2129 phy->phy_attached = 0; 2134 phy->phy_attached = 0;
2130 phy->phy_type = 0; 2135 phy->phy_type = 0;
2131 phy->port = NULL; 2136 phy->port = NULL;
2137
2138 if (d->enable)
2139 sphy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
2140 else
2141 sphy->negotiated_linkrate = SAS_PHY_DISABLED;
2132} 2142}
2133 2143
2134void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy) 2144void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy)