linux_dsm_epyc7002/drivers/usb/musb
Felipe Balbi 3e43a07256 usb: musb: core: add pm_runtime_irq_safe()
We need a pm_runtime_get_sync() call from
within musb_gadget_pullup() to make sure
registers are accessible at that time.

The problem is that musb_gadget_pullup() is
called with IRQs disabled and, because of that,
we need to tell pm_runtime that this pm_runtime_get_sync()
is IRQ safe.

We can simply add pm_runtime_irq_safe(), however, because
we need to make our read/write accessor function pointers
have been initialized before trying to use them. This means
that all pm_runtime initialization for musb_core needs to
be moved down so that when we call pm_runtime_irq_safe(),
the pm_runtime_get_sync() that it calls on the parent, won't
cause a crash due to NULL musb_read/write accessors.

Reported-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-02-23 00:18:53 -06:00
..
am35x.c usb: musb: Change end point selection to use new IO access 2014-11-25 08:47:06 -06:00
blackfin.c usb: musb: blackfin: remove incorrect __exit_p() 2015-02-02 13:04:55 -06:00
blackfin.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
cppi_dma.c usb: musb: dma: merge ->start/stop into create/destroy 2013-07-29 13:53:18 +03:00
cppi_dma.h headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
da8xx.c usb: musb: Pass fifo_mode in platform data 2014-11-25 08:47:07 -06:00
davinci.c usb: move the OTG state from the USB PHY to the OTG structure 2014-11-03 10:01:25 -06:00
davinci.h usb: musb: davinci: Fix build breakage 2012-06-04 18:29:42 +03:00
jz4740.c usb: musb: Pass fifo_mode in platform data 2014-11-25 08:47:07 -06:00
Kconfig usb: musb: add omap-control dependency 2015-01-29 10:36:29 -06:00
Makefile usb: musb: add support for JZ4740 usb device controller 2013-12-20 09:53:24 -06:00
musb_am335x.c usb: musb: Fix panic upon musb_am335x module removal 2014-06-27 10:53:06 -05:00
musb_core.c usb: musb: core: add pm_runtime_irq_safe() 2015-02-23 00:18:53 -06:00
musb_core.h usb: musb: Use IS_ENABLED for tusb6010 2014-11-25 08:47:07 -06:00
musb_cppi41.c usb: musb: cppi41: improve rx channel abort routine 2015-01-27 09:34:58 -06:00
musb_debug.h usb: musb: remove extern qualifier from musb_debug.h header 2011-12-21 13:21:02 +02:00
musb_debugfs.c Linux 3.19-rc5 2015-01-19 09:57:20 -06:00
musb_dma.h usb: musb: introduce dma_channel.rx_packet_done 2014-06-30 14:26:24 -05:00
musb_dsps.c usb: musb: Change end point selection to use new IO access 2014-11-25 08:47:06 -06:00
musb_gadget_ep0.c usb: musb: gadget: use common is_selfpowered 2015-01-29 10:35:43 -06:00
musb_gadget.c usb: musb: gadget: use common is_selfpowered 2015-01-29 10:35:43 -06:00
musb_gadget.h usb: musb: add Kconfig options for HOST, GAGDET or DUAL_ROLE modes 2013-05-28 19:22:23 +03:00
musb_host.c usb: musb: musb_host: Enable HCD_BH flag to handle urb return in bottom half 2015-02-23 00:04:52 -06:00
musb_host.h usb: musb: fix prototype for musb_port_reset 2013-12-20 15:05:43 -06:00
musb_io.h usb: musb: Change end point selection to use new IO access 2014-11-25 08:47:06 -06:00
musb_regs.h usb: musb: Use IS_ENABLED for tusb6010 2014-11-25 08:47:07 -06:00
musb_virthub.c usb: musb: fix device hotplug behind hub 2015-02-04 11:16:47 -06:00
musbhsdma.c usb: musb: Change end point selection to use new IO access 2014-11-25 08:47:06 -06:00
musbhsdma.h usb: musb: remove generic_interrupt 2012-11-06 15:32:13 +02:00
omap2430.c usb: move the OTG state from the USB PHY to the OTG structure 2014-11-03 10:01:25 -06:00
omap2430.h usb: start using the control module driver 2013-01-25 12:27:24 +02:00
tusb6010_omap.c usb: musb: tusb6010: Use musb->tusb_revision instead of tusb_get_revision call. 2014-05-16 12:16:31 -05:00
tusb6010.c usb: musb: Change end point selection to use new IO access 2014-11-25 08:47:06 -06:00
tusb6010.h usb: musb: tusb6010: Use musb->tusb_revision instead of tusb_get_revision call. 2014-05-16 12:16:31 -05:00
ux500_dma.c usb: musb: Change to use new IO access 2014-11-25 08:47:06 -06:00
ux500.c usb: musb: Pass fifo_mode in platform data 2014-11-25 08:47:07 -06:00