Date: Wed, 12 Nov 2014 19:44:16 -0800 From: NGie Cooper <yaneurabeya@gmail.com> To: "Rang, Anton" <anton.rang@isilon.com> Cc: Scott Long <scottl@netflix.com>, Alexander Motin <mav@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>, "Kenneth D. Merry" <ken@freebsd.org> Subject: Re: Minor bug in SCSI definition Message-ID: <CAGHfRMA6QQV8wLiCcyhwhyMJ1pjTKr3MVB1-%2B=YKqMyxrUhwAg@mail.gmail.com> In-Reply-To: <F21EDC44C64DB34B90AF485AC3CEDD4B3548AFDD@MX104CL01.corp.emc.com> References: <F21EDC44C64DB34B90AF485AC3CEDD4B3548AFDD@MX104CL01.corp.emc.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 12, 2014 at 7:30 PM, Rang, Anton <anton.rang@isilon.com> wrote: > 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) > @@ -1817,7 +1817,7 @@ > * 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 0x40 CCing ken@/mav@/scottl@ -- thanks!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGHfRMA6QQV8wLiCcyhwhyMJ1pjTKr3MVB1-%2B=YKqMyxrUhwAg>