linux/drivers/usb/otg
Moiz Sonasath 5bf54506b0 USB: OTG: Use work_queue in set_vbus for TWL6030 transciever
With this commit: cccad6d4b1
usb: otg: notifier: switch to atomic notifier

Following dumps are observed on attach/detach for MUSB HOST
mode and on a detach for MUSB Device mode.

BUG: sleeping function called from invalid context at kernel/mutex.c:85
where, the source is:
twl6030_usb_irq
->atomic_notifier_call_chain
 ->musb_otg_notifications
  ->twl6030_set_vbus
   ->twl_i2c_write_u8
    ->mutex_lock

This patch moves the i2c writes in set_vbus function to a
work-queue thereby avoiding I2C writes in atomic context.

Tested HOST and Device mode functionality on OMAP4460

Signed-off-by: Moiz Sonasath <m-sonasath@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-01 14:45:43 -07:00
..
ab8500-usb.c usb: otg: notifier: switch to atomic notifier 2011-02-18 14:05:54 +02:00
fsl_otg.c USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
fsl_otg.h USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
gpio_vbus.c USB: gpio-vbus: ask for vbus_draw regulator before registering xceiv 2011-05-03 10:17:14 -07:00
isp1301_omap.c usb: factor out state_string() on otg drivers 2011-05-02 16:39:09 -07:00
Kconfig USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
langwell_otg.c usb: factor out state_string() on otg drivers 2011-05-02 16:39:09 -07:00
Makefile USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
msm_otg.c USB: OTG: msm: Free VCCCX regulator even if we can't set the voltage 2011-05-17 11:20:23 -07:00
nop-usb-xceiv.c usb: otg: notifier: switch to atomic notifier 2011-02-18 14:05:54 +02:00
otg_fsm.c USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
otg_fsm.h USB: add Freescale USB OTG Transceiver driver 2011-05-02 16:59:38 -07:00
otg.c usb: factor out state_string() on otg drivers 2011-05-02 16:39:09 -07:00
twl4030-usb.c USB: twl4030-usb: Report correct vbus value for accessory charger adapters1 2011-04-13 16:48:17 -07:00
twl6030-usb.c USB: OTG: Use work_queue in set_vbus for TWL6030 transciever 2011-07-01 14:45:43 -07:00
ulpi_viewport.c usb: otg: Add ulpi viewport access ops 2011-03-11 14:22:10 -08:00
ulpi.c usb: otg: Make USB3319 ULPI ID generic 2011-01-22 18:32:53 -08:00