]> xenbits.xensource.com Git - seabios.git/commitdiff
Support Samsung SE-S084 USB DVD drive (and probably many others)
authorKevin O'Connor <kevin@koconnor.net>
Fri, 3 Sep 2010 01:18:20 +0000 (21:18 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Fri, 3 Sep 2010 01:18:20 +0000 (21:18 -0400)
A full implementation of ATAPI USB support would need to translate / filter
certain package types or some devices might not work. No previously working
devices break with the patch, so it is fine to commit.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
src/usb-msc.c
src/usb-msc.h

index 52fb58a935d84aa13fb2ca7371af4148c68f9d2c..968cae3914d9149ef57519147ec9c8f906046733 100644 (file)
@@ -182,7 +182,9 @@ usb_msc_init(struct usb_pipe *pipe
         return -1;
 
     // Verify right kind of device
-    if (iface->bInterfaceSubClass != US_SC_SCSI
+    if ((iface->bInterfaceSubClass != US_SC_SCSI &&
+        iface->bInterfaceSubClass != US_SC_ATAPI_8070 &&
+        iface->bInterfaceSubClass != US_SC_ATAPI_8020)
         || iface->bInterfaceProtocol != US_PR_BULK) {
         dprintf(1, "Unsupported MSC USB device (subclass=%02x proto=%02x)\n"
                 , iface->bInterfaceSubClass, iface->bInterfaceProtocol);
index 467ccf30046a195269f715d3dfa162dedb71922c..71adb20797bacb01d4eceefc67393318a91295d9 100644 (file)
@@ -15,9 +15,11 @@ int process_usb_op(struct disk_op_s *op);
  * MSC flags
  ****************************************************************/
 
-#define US_SC_SCSI      0x06
+#define US_SC_ATAPI_8020   0x02
+#define US_SC_ATAPI_8070   0x05
+#define US_SC_SCSI         0x06
 
-#define US_PR_BULK      0x50
+#define US_PR_BULK         0x50
 
 #define USB_MSC_TYPE_DISK  0x00
 #define USB_MSC_TYPE_CDROM 0x05