SCSI: libsas: fix false positive 'device attached' conditions
commit
7d1d865181185bdf1316d236b1b4bd02c9020729 upstream.
Normalize phy->attached_sas_addr to return a zero-address in the case
when device-type == NO_DEVICE or the linkrate is invalid to handle
expanders that put non-zero sas addresses in the discovery response:
sas: ex
5001b4da000f903f phy02:U:0 attached:
0100000000000000 (no device)
sas: ex
5001b4da000f903f phy01:U:0 attached:
0100000000000000 (no device)
sas: ex
5001b4da000f903f phy03:U:0 attached:
0100000000000000 (no device)
sas: ex
5001b4da000f903f phy00:U:0 attached:
0100000000000000 (no device)
Reported-by: Andrzej Jakowski <andrzej.jakowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>