OpenCloudOS-Kernel/drivers/usb/storage
Josua Dietze 32ebbe7b6a USB: usb-storage: add filter to "option_ms" to leave unrecognized devices alone
Some unusual usb devices from the maker "Option" are switched from
storage to serial/modem mode by sending a SCSI REZERO command. In one
case a fairly common vendor/device ID is affected which led to problems
for users of other modems or phones which are not supposed to be
switched.

The patch adds a filter by reading the vendor name with the SCSI INQUIRY
command, and skips the switching code for all unrecognized entries.

Further changes are cleanups and corrections pointed out by Alan Stern.

Tested with two devices with the IDs 05c6:1000, one from "Option" and
switchable, and one from Samsung (cell phone).


Signed-off-by: Josua Dietze <digidietze@draisberghof.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-15 21:44:46 -07:00
..
Kconfig usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00
Makefile usb-storage: fix mistake in Makefile 2009-04-17 10:50:26 -07:00
alauda.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
cypress_atacb.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
datafab.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
debug.c USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
debug.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
freecom.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
initializers.c USB: janitor storage initializers 2009-06-15 21:44:44 -07:00
initializers.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
isd200.c isd200: use ATA_* defines instead of *_STAT and *_ERR ones 2009-04-01 21:42:25 +02:00
jumpshot.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
karma.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
libusual.c usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
onetouch.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
option_ms.c USB: usb-storage: add filter to "option_ms" to leave unrecognized devices alone 2009-06-15 21:44:46 -07:00
option_ms.h USB: unusual dev for Option N.V. ZeroCD modems 2009-01-07 10:00:09 -08:00
protocol.c usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
protocol.h USB: usb-storage: merge ATAPI and QIC-157 protocol routines 2009-01-07 09:59:57 -08:00
scsiglue.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
scsiglue.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
sddr09.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
sddr55.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
shuttle_usbat.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
sierra_ms.c USB: usb-storage: fix return values from init functions 2009-06-15 21:44:46 -07:00
sierra_ms.h USB Storage Sierra: TRU-Install feature update 2008-08-13 17:32:51 -07:00
transport.c USB: add reset endpoint operations 2009-04-17 10:50:27 -07:00
transport.h USB: usb-storage: merge CB and CBI transport routines 2009-01-07 09:59:57 -08:00
unusual_alauda.h usb-storage: make alauda a separate module 2009-03-24 16:20:35 -07:00
unusual_cypress.h usb-storage: make cypress_atacb a separate module 2009-03-24 16:20:34 -07:00
unusual_datafab.h usb-storage: make datafab a separate module 2009-03-24 16:20:34 -07:00
unusual_devs.h USB: Ignore storage device in modem mode on DWN-652 2009-06-15 21:44:41 -07:00
unusual_freecom.h usb-storage: make freecom a separate module 2009-03-24 16:20:34 -07:00
unusual_isd200.h usb-storage: make isd200 a separate module 2009-03-24 16:20:34 -07:00
unusual_jumpshot.h usb-storage: make jumpshot a separate module 2009-03-24 16:20:34 -07:00
unusual_karma.h usb-storage: make karma a separate module 2009-03-24 16:20:35 -07:00
unusual_onetouch.h usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00
unusual_sddr09.h usb-storage: make sddr09 a separate module 2009-03-24 16:20:34 -07:00
unusual_sddr55.h usb-storage: make sddr55 a separate module 2009-03-24 16:20:34 -07:00
unusual_usbat.h usb-storage: make shuttle_usbat a separate module 2009-03-24 16:20:34 -07:00
usb.c usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00
usb.h usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
usual-tables.c usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00