diff options
author | guoqing zhu - Sun Microsystems - Beijing China <Guoqing.Zhu@Sun.COM> | 2009-09-24 09:42:31 +0800 |
---|---|---|
committer | guoqing zhu - Sun Microsystems - Beijing China <Guoqing.Zhu@Sun.COM> | 2009-09-24 09:42:31 +0800 |
commit | b248f0fdbc3dc19cf5431f7e039fbfedbe476f09 (patch) | |
tree | a0c06f30e28dde20d036f5fc9c0cc3e09050f581 /usr/src | |
parent | 35e6f27ad0d19ae8ac48ddcbccbe1af717832f29 (diff) | |
download | illumos-joyent-b248f0fdbc3dc19cf5431f7e039fbfedbe476f09.tar.gz |
6883392 some scsi commands added to scsa2usb blacklist may not be filtered correctly
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c b/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c index 19dd722626..0bbcf831ea 100644 --- a/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c +++ b/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c @@ -2973,11 +2973,13 @@ scsa2usb_cmd_transport(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd) pkt->pkt_cdbp[0], cmd); } - /* just accept the command */ + /* just accept the command or return error */ if (transport == SCSA2USB_JUST_ACCEPT) { SCSA2USB_SET_PKT_DO_COMP_STATE(scsa2usbp); return (TRAN_ACCEPT); + } else if (transport == SCSA2USB_REJECT) { + return (TRAN_FATAL_ERROR); } /* check command set next */ @@ -3105,7 +3107,7 @@ scsa2usb_check_bulkonly_blacklist_attrs(scsa2usb_state_t *scsa2usbp, unsigned int bufsize; int count; - if (cmd->cmd_cdb[1] & evpd) + if (cmd->cmd_pkt->pkt_cdbp[1] & evpd) return (SCSA2USB_REJECT); scsa2usb_fake_inquiry(scsa2usbp, inq); |