From: Kevin O'Connor Date: Fri, 3 Sep 2010 01:18:20 +0000 (-0400) Subject: Support Samsung SE-S084 USB DVD drive (and probably many others) X-Git-Tag: rel-0.6.1~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9c000e695786a3ffcb1a80fc4c30e89e65a81dfa;p=seabios.git Support Samsung SE-S084 USB DVD drive (and probably many others) 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 --- diff --git a/src/usb-msc.c b/src/usb-msc.c index 52fb58a..968cae3 100644 --- a/src/usb-msc.c +++ b/src/usb-msc.c @@ -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); diff --git a/src/usb-msc.h b/src/usb-msc.h index 467ccf3..71adb20 100644 --- a/src/usb-msc.h +++ b/src/usb-msc.h @@ -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