Skip to content
  • John Garry's avatar
    scsi: libsas: Do discovery on empty PHY to update PHY info · aa06e612
    John Garry authored
    [ Upstream commit d8649fc1
    
     ]
    
    When we discover the PHY is empty in sas_rediscover_dev(), the PHY
    information (like negotiated linkrate) is not updated.
    
    As such, for a user examining sysfs for that PHY, they would see
    incorrect values:
    
    root@(none)$ cd /sys/class/sas_phy/phy-0:0:20
    root@(none)$ more negotiated_linkrate
    3.0 Gbit
    root@(none)$ echo 0 > enable
    root@(none)$ more negotiated_linkrate
    3.0 Gbit
    
    So fix this, simply discover the PHY again, even though we know it's empty;
    in the above example, this gives us:
    
    root@(none)$ more negotiated_linkrate
    Phy disabled
    
    We must do this after unregistering the device associated with the PHY
    (in sas_unregister_devs_sas_addr()).
    
    Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    aa06e612