--- 27/drivers/usb/storage/unusual_devs.h~ 2004-08-08 02:26:05.000000000 +0300 +++ 27/drivers/usb/storage/unusual_devs.h 2004-08-14 20:57:36.000000000 +0300 @@ -708,7 +708,14 @@ "Optio S/S4", US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY ), - + +/* eXputer Model: Zippy Drive, lies about being USB mass storage compliant. + Ref.: http://www.qbik.ch/usb/devices/showdev.php?id=1092 */ +UNUSUAL_DEV( 0x0b86, 0x5110, 0x0000, 0xffff, + "eXputer", + "Zippy Drive 5000", + 0, 0, NULL, US_BLACKLISTED_DEV ), + #ifdef CONFIG_USB_STORAGE_ISD200 UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, "ATI", --- 27/drivers/usb/storage/usb.h~ 2004-08-08 02:26:05.000000000 +0300 +++ 27/drivers/usb/storage/usb.h 2004-08-14 20:58:33.000000000 +0300 @@ -103,6 +103,7 @@ #define US_FL_SCM_MULT_TARG 0x00000020 /* supports multiple targets */ #define US_FL_FIX_INQUIRY 0x00000040 /* INQUIRY response needs fixing */ #define US_FL_FIX_CAPACITY 0x00000080 /* READ_CAPACITY response too big */ +#define US_BLACKLISTED_DEV 0x00000200 /* Device blacklisted */ #define USB_STOR_STRING_LEN 32 --- 27/drivers/usb/storage/usb.c~ 2004-08-08 02:26:05.000000000 +0300 +++ 27/drivers/usb/storage/usb.c 2004-08-14 20:57:36.000000000 +0300 @@ -595,6 +595,14 @@ if (id_index < sizeof(us_unusual_dev_list) / sizeof(us_unusual_dev_list[0])) { unusual_dev = &us_unusual_dev_list[id_index]; + /* Is this thing blacklisted? */ + if (unusual_dev->flags & US_BLACKLISTED_DEV) { + warn("Device (vend/prod 0x%x/0x%x) is Blacklisted and not supported by usb-storage.\n", + dev->descriptor.idVendor, + dev->descriptor.idProduct); + return NULL; + } + if (unusual_dev->vendorName) US_DEBUGP("Vendor: %s\n", unusual_dev->vendorName); if (unusual_dev->productName)