Coverity found an issue in this area which I tracked down to the incorrect definition patched below. The SID_QUAL macro is (((inq_data)->device & 0xE0) >> 5) which extracts the peripheral qualifier. Per SCSI-2 (draft 10L) table 46, the vendor-specific values are "1XXb". This probably affects almost nobody, but it will clear up a couple of Coverity warnings. Anton Index: sys/cam/scsi/scsi_all.h =================================================================== --- sys/cam/scsi/scsi_all.h (revision 274352) +++ sys/cam/scsi/scsi_all.h (working copy) _at__at_ -1817,7 +1817,7 _at__at_ * reserved for this peripheral * qualifier. */ -#define SID_QUAL_IS_VENDOR_UNIQUE(inq_data) ((SID_QUAL(inq_data) & 0x08) != 0) +#define SID_QUAL_IS_VENDOR_UNIQUE(inq_data) ((SID_QUAL(inq_data) & 0x04) != 0) u_int8_t dev_qual2; #define SID_QUAL2 0x7F #define SID_LU_CONG 0x40Received on Thu Nov 13 2014 - 02:30:45 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:54 UTC