Polish INQUIRY command fields validation.
This commit is contained in:
parent
211d5708c9
commit
2db9b8b5a0
@ -10723,45 +10723,23 @@ ctl_inquiry(struct ctl_scsiio *ctsio)
|
|||||||
struct scsi_inquiry *cdb;
|
struct scsi_inquiry *cdb;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
cdb = (struct scsi_inquiry *)ctsio->cdb;
|
|
||||||
|
|
||||||
retval = 0;
|
|
||||||
|
|
||||||
CTL_DEBUG_PRINT(("ctl_inquiry\n"));
|
CTL_DEBUG_PRINT(("ctl_inquiry\n"));
|
||||||
|
|
||||||
/*
|
cdb = (struct scsi_inquiry *)ctsio->cdb;
|
||||||
* Right now, we don't support the CmdDt inquiry information.
|
if (cdb->byte2 & SI_EVPD)
|
||||||
* This would be nice to support in the future. When we do
|
retval = ctl_inquiry_evpd(ctsio);
|
||||||
* support it, we should change this test so that it checks to make
|
else if (cdb->page_code == 0)
|
||||||
* sure SI_EVPD and SI_CMDDT aren't both set at the same time.
|
retval = ctl_inquiry_std(ctsio);
|
||||||
*/
|
else {
|
||||||
#ifdef notyet
|
|
||||||
if (((cdb->byte2 & SI_EVPD)
|
|
||||||
&& (cdb->byte2 & SI_CMDDT)))
|
|
||||||
#endif
|
|
||||||
if (cdb->byte2 & SI_CMDDT) {
|
|
||||||
/*
|
|
||||||
* Point to the SI_CMDDT bit. We might change this
|
|
||||||
* when we support SI_CMDDT, but since both bits would be
|
|
||||||
* "wrong", this should probably just stay as-is then.
|
|
||||||
*/
|
|
||||||
ctl_set_invalid_field(ctsio,
|
ctl_set_invalid_field(ctsio,
|
||||||
/*sks_valid*/ 1,
|
/*sks_valid*/ 1,
|
||||||
/*command*/ 1,
|
/*command*/ 1,
|
||||||
/*field*/ 1,
|
/*field*/ 2,
|
||||||
/*bit_valid*/ 1,
|
/*bit_valid*/ 0,
|
||||||
/*bit*/ 1);
|
/*bit*/ 0);
|
||||||
ctl_done((union ctl_io *)ctsio);
|
ctl_done((union ctl_io *)ctsio);
|
||||||
return (CTL_RETVAL_COMPLETE);
|
return (CTL_RETVAL_COMPLETE);
|
||||||
}
|
}
|
||||||
if (cdb->byte2 & SI_EVPD)
|
|
||||||
retval = ctl_inquiry_evpd(ctsio);
|
|
||||||
#ifdef notyet
|
|
||||||
else if (cdb->byte2 & SI_CMDDT)
|
|
||||||
retval = ctl_inquiry_cmddt(ctsio);
|
|
||||||
#endif
|
|
||||||
else
|
|
||||||
retval = ctl_inquiry_std(ctsio);
|
|
||||||
|
|
||||||
return (retval);
|
return (retval);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user