diff options
| -rw-r--r-- | drivers/scsi/hisi_sas/hisi_sas_main.c | 10 |
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 | ||
| 2127 | static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy) | 2128 | static 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 | ||
| 2134 | void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy) | 2144 | void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy) |
