summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorguoqing zhu - Sun Microsystems - Beijing China <Guoqing.Zhu@Sun.COM>2009-09-24 09:42:31 +0800
committerguoqing zhu - Sun Microsystems - Beijing China <Guoqing.Zhu@Sun.COM>2009-09-24 09:42:31 +0800
commitb248f0fdbc3dc19cf5431f7e039fbfedbe476f09 (patch)
treea0c06f30e28dde20d036f5fc9c0cc3e09050f581 /usr/src
parent35e6f27ad0d19ae8ac48ddcbccbe1af717832f29 (diff)
downloadillumos-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.c6
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);