linux/drivers/usb/gadget
Harro Haan c6c352371c ARM: 5965/1: Fix soft lockup in at91 udc driver
Fix a potential soft lockup in the AT91 UDC driver by ensuring that
the UDC clock is enabled inside the interrupt handler. If the UDC clock is not enabled then the UDC registers cannot be written to
and the interrupt cannot be cleared or masked.

Note that this patch (and other parts of the existing AT91 UDC
driver) is potentially racy for preempt-rt kernels,
but is okay for mainline.

For more info see:

http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/09cdb3b4/attachment.el

http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/8443a1e4/attachment.el

Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: Harro Haan <hrhaan@gmail.com>
Tested-by: Remy Bohmer <linux@bohmer.net>
Acked-by: Andrew Victor <avictor.za@gmail.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-03-29 17:36:04 +01:00
..
amd5536udc.c usb: amd5536udc: fixed shared interrupt bug and warning oops 2009-11-30 16:43:15 -08:00
amd5536udc.h
at91_udc.c ARM: 5965/1: Fix soft lockup in at91 udc driver 2010-03-29 17:36:04 +01:00
at91_udc.h
atmel_usba_udc.c USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
atmel_usba_udc.h USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
audio.c USB: audio gadget: free alsa devices when unloading 2009-12-23 11:34:20 -08:00
cdc2.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
ci13xxx_udc.c USB: ci13xxx_udc: use helper functions to determine endpoint type and direction 2009-06-15 21:44:41 -07:00
ci13xxx_udc.h USB: gadget: MIPS ci13xxx_udc 2009-01-07 09:59:58 -08:00
composite.c USB: composite: usb_composite_unregister() no longer __exit 2009-12-11 11:55:23 -08:00
config.c
dummy_hcd.c USB: dummy-hcd: accept mismatch between wLength and transfer length 2009-09-23 06:46:30 -07:00
epautoconf.c USB: gadget: fix Blackfin builds after gadget cleansing 2010-03-19 07:24:19 -07:00
ether.c USB: Correct CONFIG variable typo. 2010-03-02 14:53:40 -08:00
f_acm.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
f_audio.c usb/gadget/{f_audio,gmidi}.c: follow recent changes in audio.h 2010-02-23 12:02:11 +01:00
f_ecm.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
f_eem.c USB: gadget: fix EEM gadget CRC usage 2010-02-16 15:11:10 -08:00
f_loopback.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
f_mass_storage.c USB: gadget: f_mass_storage::fsg_bind(): fix error handling 2010-03-19 07:24:20 -07:00
f_obex.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
f_phonet.c f_phonet: use page-sized rather than MTU-sized RX buffers 2009-08-12 20:44:49 -07:00
f_rndis.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
f_serial.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_sourcesink.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
f_subset.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
file_storage.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-03-04 08:15:33 -08:00
fsl_mx3_udc.c fsl_mx3_udc: Add i.MX35 support 2010-02-04 15:55:09 +01:00
fsl_qe_udc.c USB gadget: make Open Firmware device id constant 2010-03-02 14:54:18 -08:00
fsl_qe_udc.h powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds 2009-11-11 21:43:20 -06:00
fsl_udc_core.c USB: fsl_udc_core: Fix kernel oops on module removal 2009-10-30 14:57:33 -07:00
fsl_usb2_udc.h USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver 2009-06-15 21:44:47 -07:00
g_zero.h USB: gadget: gadget zero uses new suspend/resume hooks 2009-03-24 16:20:45 -07:00
gadget_chips.h USB: gadget: add gadget controller number for s3c-hsotg driver 2010-03-19 07:24:22 -07:00
gmidi.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
goku_udc.c USB: goku_udc: remove potential null dereference 2010-03-19 07:24:19 -07:00
goku_udc.h
imx_udc.c USB: gadget: imx_udc: Use resource size 2009-10-09 13:52:07 -07:00
imx_udc.h USB: imx_udc: Fix IMX UDC gadget general irq handling 2009-03-24 16:20:29 -07:00
inode.c usb: gadgetfs: Convert semaphore to mutex 2010-03-02 14:54:52 -08:00
Kconfig USB: g_mass_storage: fixed module name in Kconfig 2010-03-19 07:24:21 -07:00
langwell_udc.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
langwell_udc.h USB: Add Intel Langwell USB Device Controller driver 2009-06-15 21:44:47 -07:00
lh7a40x_udc.c USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
lh7a40x_udc.h
m66592-udc.c usb: gadget: m66592-udc needs linux/err.h. 2009-08-24 22:45:15 +09:00
m66592-udc.h usb: m66592-udc platform data on_chip support 2009-07-23 13:04:15 +09:00
Makefile USB: gadget: introduce g_nokia gadget driver 2010-03-02 14:54:02 -08:00
mass_storage.c USB: mass_storage: eject LUNs on thread exit 2010-03-02 14:54:49 -08:00
multi.c USB: gadget/multi: cdc_do_config: remove redundant check 2010-03-19 07:24:24 -07:00
ndis.h
net2280.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
net2280.h
nokia.c USB: gadget: introduce g_nokia gadget driver 2010-03-02 14:54:02 -08:00
omap_udc.c omap1: omap_udc: Add clocking and disable vbus sense for omap7xx 2009-11-22 10:24:32 -08:00
omap_udc.h
printer.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
pxa25x_udc.c [ARM] pxa: move board board IRQ definitions out of irqs.h 2010-03-02 07:40:51 +08:00
pxa25x_udc.h USB: gadget: pxa25x: basic transceiver support 2009-09-23 06:46:23 -07:00
pxa27x_udc.c USB: pxa27x_udc: Fix deadlocks on request queueing 2010-03-02 14:54:47 -08:00
pxa27x_udc.h USB: pxa27x_udc: Fix deadlocks on request queueing 2010-03-02 14:54:47 -08:00
r8a66597-udc.c usb/gadget: fix compile error on r8a66597-udc.c 2010-03-19 07:24:12 -07:00
r8a66597-udc.h usb: r8a66597-udc unaligned fifo fix 2009-10-06 10:59:03 +09:00
rndis.c USB: gadget: Add EEM gadget driver 2009-09-23 06:46:35 -07:00
rndis.h USB: gadget: Add EEM gadget driver 2009-09-23 06:46:35 -07:00
s3c2410_udc.c USB: s3c2410: unregister should call unbind, not disconnect 2009-09-23 06:46:35 -07:00
s3c2410_udc.h
s3c-hsotg.c Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
serial.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
storage_common.c USB: g_mass_storage: code cleaned up and comments updated 2009-12-11 11:55:22 -08:00
u_audio.c USB: audio gadget: free alsa devices when unloading 2009-12-23 11:34:20 -08:00
u_audio.h USB: audio gadget: free alsa devices when unloading 2009-12-23 11:34:20 -08:00
u_ether.c USB: gadget: Add DEVTYPE support for Ethernet functions 2010-03-02 14:54:33 -08:00
u_ether.h USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
u_phonet.h
u_serial.c USB: double put_tty_driver(gs_tty_driver) in gserial_setup() 2009-09-23 06:46:37 -07:00
u_serial.h
usbstring.c USB: Gadget: fix UTF conversion in the usbstring library 2009-05-08 19:34:56 -07:00
zero.c USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00