WSL2-Linux-Kernel/drivers
Alan Stern 3f141e2aed USB: unconfigure devices which have config 0
Some USB devices do have a configuration 0, in contravention of the
USB spec.  Normally 0 is supposed to indicate that a device is
unconfigured.

While we can't change what the device is doing, we can change usbcore.
This patch (as852) allows usb_set_configuration() to accept a config
value of -1 as indicating that the device should be unconfigured.  The
request actually sent to the device will still contain 0 as the value.
But even if the device does have a configuration 0, dev->actconfig
will be set to NULL and dev->state will be set to USB_STATE_ADDRESS.

Without some sort of special-case handling like this, there is no way
to unconfigure these non-compliant devices.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-16 15:32:21 -08:00
..
acorn [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
acpi [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
amba [ARM] Fix __must_check warnings in drivers/bus/amba.c 2006-11-30 14:04:49 +00:00
ata sata_vsc: use default cache line size if non-zero 2007-02-15 18:13:46 -05:00
atm [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
auxdisplay [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
base [PATCH] Drop __get_zone_counts() 2007-02-11 10:51:18 -08:00
block [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
bluetooth [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
cdrom [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
char Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2007-02-16 08:17:04 -08:00
clocksource [PATCH] Allow early access to the power management timer 2007-02-16 08:13:58 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -08:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2007-02-16 08:16:01 -08:00
crypto [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core 2007-02-12 09:48:32 -08:00
eisa
fc4 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
firmware [PATCH] docbook: add edd firmware interfaces 2007-02-11 10:51:32 -08:00
hid [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hwmon i2c/vt8231: Remove superfluous initialization 2007-02-13 22:08:58 +01:00
i2c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ide [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ieee1394 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
infiniband [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
input [PATCH] hrtimers: namespace and enum cleanup 2007-02-16 08:13:58 -08:00
isdn [PATCH] correct CONFIG_GIGASET_M101 Makefile entry 2007-02-16 08:13:56 -08:00
kvm [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
mca
md [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
media [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
message [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
mmc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
mtd [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2 2007-02-14 08:09:55 -08:00
net [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
nubus
oprofile [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
parisc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
parport [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
pci [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
pcmcia [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pnp [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
ps3 [PATCH] ps3: disable display flipping during mode changes 2007-02-12 09:48:44 -08:00
rapidio [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
rtc [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
s390 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sbus [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
scsi USB Storage: indistinguishable devices with broken and unbroken firmware 2007-02-16 15:32:19 -08:00
serial [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi [PATCH] SPI: atmel_spi driver 2007-02-14 08:09:53 -08:00
tc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
telephony [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
usb USB: unconfigure devices which have config 0 2007-02-16 15:32:21 -08:00
video [PATCH] s3c2410fb: fix un-initialised dev field 2007-02-16 08:14:01 -08:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00