• K
    [SCSI] mptfusion: Added code for occationally SATA hotplug failure. · cc7e9f5f
    Kashyap, Desai 提交于
    Issue: SATA hotplug does not work sometimes.
    At the time of ADD device/ADD phys disk, drive may fail to add SATA device
    due to temporary SAS Address for SATA device generated by firmware. Final
    SAS address for SATA driver will be generated only after disk spinup is
    done. This may take some times for slow spining SATA drives.
    
    At phy link up driver gets attached device sas address and stores into
    phyinfo. At the time of ADD event driver will read sas device page0 using
    channel and FW ID provided in ADD Device event. Here in case of SATA drives,
    driver will see miss match in phyinfo->sas_address and latest sas address
    read from SAS DEVICE PAGE0 and eventually device won't be added to OS.
    
    Fix:
    When Driver read SAS DEVICE PAGE0, it can identify Device type looking at
    device_info. If device is SATA drive and sas address mismatch happens,
    Driver will do same stuffs which happened at the time of LINK UP to get
    correct piece of information from Pages. ( Find parent device and refresh
    parent device phys either HBA refresh/Exp refresh)
    Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
    Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
    cc7e9f5f
mptsas.c 142.5 KB