[SCSI] libsas: fix false positive 'device attached' conditions
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>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>