linux/drivers/usb/cdns3
Xiaolei Wang 2319b9c87f usb: cdns3: Put the cdns set active part outside the spin lock
The device may be scheduled during the resume process,
so this cannot appear in atomic operations. Since
pm_runtime_set_active will resume suppliers, put set
active outside the spin lock, which is only used to
protect the struct cdns data structure, otherwise the
kernel will report the following warning:

  BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1163
  in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 651, name: sh
  preempt_count: 1, expected: 0
  RCU nest depth: 0, expected: 0
  CPU: 0 PID: 651 Comm: sh Tainted: G        WC         6.1.20 #1
  Hardware name: Freescale i.MX8QM MEK (DT)
  Call trace:
    dump_backtrace.part.0+0xe0/0xf0
    show_stack+0x18/0x30
    dump_stack_lvl+0x64/0x80
    dump_stack+0x1c/0x38
    __might_resched+0x1fc/0x240
    __might_sleep+0x68/0xc0
    __pm_runtime_resume+0x9c/0xe0
    rpm_get_suppliers+0x68/0x1b0
    __pm_runtime_set_status+0x298/0x560
    cdns_resume+0xb0/0x1c0
    cdns3_controller_resume.isra.0+0x1e0/0x250
    cdns3_plat_resume+0x28/0x40

Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
Acked-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20230616021952.1025854-1-xiaolei.wang@windriver.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-25 17:49:25 +02:00
..
cdns3-debug.h usb: cdns3: change trace event cdns3_ring() operation 2023-03-09 15:35:03 +01:00
cdns3-ep0.c usb: cdns3: Fixed incorrect gadget state 2021-07-29 14:13:02 +08:00
cdns3-gadget.c Merge 6.4-rc5 into usb-next 2023-06-05 07:39:02 +02:00
cdns3-gadget.h usb: cdns3: allocate TX FIFO size according to composite EP number 2022-05-19 18:14:29 +02:00
cdns3-imx.c usb: cdns3: imx: Rework system PM to avoid duplicated operations 2023-05-29 15:53:48 +01:00
cdns3-pci-wrap.c usb: cdns3: Fix issue with using incorrect PCI device function 2023-03-16 12:43:42 +01:00
cdns3-plat.c usb: cdns3: Put the cdns set active part outside the spin lock 2023-07-25 17:49:25 +02:00
cdns3-starfive.c usb: cdns3: Add StarFive JH7110 USB driver 2023-05-29 15:52:11 +01:00
cdns3-ti.c usb: cdns3-ti: Convert to platform remove callback returning void 2023-05-28 12:36:15 +01:00
cdns3-trace.c usb: cdns3: Change file names for cdns3 driver. 2020-12-29 12:36:13 +08:00
cdns3-trace.h usb: cdns3: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
cdnsp-debug.h usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value 2022-01-26 13:59:20 +01:00
cdnsp-ep0.c usb: cdnsp: Fixes error: uninitialized symbol 'len' 2023-04-05 19:55:04 +02:00
cdnsp-gadget.c usb: cdnsp: : add scatter gather support for ISOC endpoint 2023-01-17 17:30:17 +01:00
cdnsp-gadget.h usb: cdnsp: : add scatter gather support for ISOC endpoint 2023-01-17 17:30:17 +01:00
cdnsp-mem.c usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() 2021-12-03 13:57:45 +01:00
cdnsp-pci.c usb: cdns3: Put the cdns set active part outside the spin lock 2023-07-25 17:49:25 +02:00
cdnsp-ring.c usb: cdnsp: : add scatter gather support for ISOC endpoint 2023-01-17 17:30:17 +01:00
cdnsp-trace.c usb: cdnsp: Add tracepoints for CDNSP driver 2020-12-29 12:36:13 +08:00
cdnsp-trace.h usb: cdns3: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
core.c usb: cdns3: Put the cdns set active part outside the spin lock 2023-07-25 17:49:25 +02:00
core.h usb: cdns3: Put the cdns set active part outside the spin lock 2023-07-25 17:49:25 +02:00
drd.c usb: cdnsp: Fix segmentation fault in cdns_lost_power function 2022-01-26 14:11:16 +01:00
drd.h usb: cdns3: add power lost support for system resume 2021-04-12 20:19:20 +08:00
gadget-export.h usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver 2020-12-29 12:36:13 +08:00
host-export.h usb: cdns3: Removes xhci_cdns3_suspend_quirk from host-export.h 2020-12-29 12:36:13 +08:00
host.c usb: cdns3: host: fix endless superspeed hub port reset 2022-11-09 12:35:13 +01:00
Kconfig usb: cdns3: Add StarFive JH7110 USB driver 2023-05-29 15:52:11 +01:00
Makefile usb: cdns3: Add StarFive JH7110 USB driver 2023-05-29 15:52:11 +01:00