sbin/camcontrol/camcontrol.c

If an expander returns 0x00 (no device attached) in the ATTACHED DEVICE
	field of the SMP DISCOVER response, ignore the value of ATTACHED SAS
	ADDRESS, because it is invalid.  Some expanders zero out the address
	when the attached device is removed, but others do not.  Section
	9.4.3.10 of the SAS Protocol Layer 2 revision 04b does not require them
	to do so.

Approved by:	ken (mentor)
MFC after:	3 weeks
This commit is contained in:
Alan Somers 2013-05-15 17:26:50 +00:00
parent f10a77bb82
commit 8a20d4d1f4

View File

@ -7138,8 +7138,12 @@ smpphylist(struct cam_device *device, int argc, char **argv,
continue;
}
item = findsasdevice(&devlist,
scsi_8btou64(disresponse->attached_sas_address));
if (disresponse->attached_device == SMP_DIS_AD_TYPE_NONE) {
item = NULL;
} else {
item = findsasdevice(&devlist,
scsi_8btou64(disresponse->attached_sas_address));
}
if ((quiet == 0)
|| (item != NULL)) {