diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2010-09-02 21:18:20 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2010-09-02 21:18:20 -0400 |
commit | 9c000e695786a3ffcb1a80fc4c30e89e65a81dfa (patch) | |
tree | 0ebb02b1bbe546201ef57adf9984ced5c1bdd341 | |
parent | eebe949461466c9fdb482a542b0aaa8957b6a62b (diff) | |
download | seabios-9c000e695786a3ffcb1a80fc4c30e89e65a81dfa.tar.gz |
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 <stepan@coresystems.de>
-rw-r--r-- | src/usb-msc.c | 4 | ||||
-rw-r--r-- | src/usb-msc.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/usb-msc.c b/src/usb-msc.c index 52fb58a9..968cae39 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 467ccf30..71adb207 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 |