[SCSI] libsas: fix false positive 'device attached' conditions
commit7d1d865181185bdf1316d236b1b4bd02c9020729
authorDan Williams <dan.j.williams@intel.com>
Tue, 20 Mar 2012 17:50:27 +0000 (20 10:50 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 23 Apr 2012 11:14:09 +0000 (23 12:14 +0100)
tree569edfa75a11f492750e80d3daf363c31f8dcb3d
parentb2024459252a9d2d312ee562f86f332a1498f412
[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>
drivers/scsi/libsas/sas_expander.c