storage: Enable multi-target mode as vendor driver does for SCM eUSCSI bridge
authorMark Knibbs <markk@clara.co.uk>
Fri, 7 Nov 2014 22:02:19 +0000 (22:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Nov 2014 01:22:38 +0000 (17:22 -0800)
usb_stor_euscsi_init() enables multi-target mode for SCM eUSB SCSI bridge
devices. The control message it sends has wLength = 1 and the byte sent is
0x01. While that works, the SCM Windows driver does it with wLength = 0. We
may as well match what the SCM driver does.

Signed-off-by: Mark Knibbs <markk@clara.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/initializers.c

index 73f125e0cb587015eb282dfef0f5eaadea273ed5..31fa2e92065b92c1a68aeff977798fabc23e2b16 100644 (file)
@@ -49,10 +49,9 @@ int usb_stor_euscsi_init(struct us_data *us)
        int result;
 
        usb_stor_dbg(us, "Attempting to init eUSCSI bridge...\n");
-       us->iobuf[0] = 0x1;
        result = usb_stor_control_msg(us, us->send_ctrl_pipe,
                        0x0C, USB_RECIP_INTERFACE | USB_TYPE_VENDOR,
-                       0x01, 0x0, us->iobuf, 0x1, 5 * HZ);
+                       0x01, 0x0, NULL, 0x0, 5 * HZ);
        usb_stor_dbg(us, "-- result is %d\n", result);
 
        return 0;