forked from Minki/linux
c5a1fbca6f
Following crash is seen on dwc3_omap removal Unable to handle kernel NULL pointer dereference at virtual address 00000018 pgd = ec098000 [00000018] *pgd=ad1f9831, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] SMP ARM Modules linked in: usb_f_ss_lb g_zero usb_f_acm u_serial usb_f_ecm u_ether libcomposite configfs snd_usb_audio snd_usbmidi_lib snd_rawmidi snd_hwdep snd_soc_omap snd_pcm_dmaengine snd_soc_core snd_compress snd_pcm snd_tim] CPU: 0 PID: 1296 Comm: rmmod Tainted: G W 3.15.0-rc4-02716-g95c4e18-dirty #10 task: ed05a080 ti: ec368000 task.ti: ec368000 PC is at release_resource+0x14/0x7c LR is at release_resource+0x10/0x7c pc : [<c0044724>] lr : [<c0044720>] psr: 60000013 sp : ec369ec0 ip : 60000013 fp : 00021008 r10: 00000000 r9 : ec368000 r8 : c000e7a4 r7 : 00000081 r6 : bf0062c0 r5 : ed7cd000 r4 : ed7d85c0 r3 : 00000000 r2 : 00000000 r1 : 00000011 r0 : c086d08c Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c5387d Table: ac098059 DAC: 00000015 Process rmmod (pid: 1296, stack limit = 0xec368248) Stack: (0xec369ec0 to 0xec36a000) 9ec0: 00000000 00000001 ed7cd000 c034de94 ed7cd010 ed7cd000 00000000 c034e194 9ee0: 00000000 bf0062cc ed7cd010 c03490b0 ed154cc0 ed4c2570 ed2b8410 ed156810 ed156810 bf006d24 c034db9c c034db84 c034c518 9f20: bf006d24 ed156810 bf006d24 c034cd2c bf006d24 bf006d68 00000800 c034c340 9f40: 00000000 c00a9e5c 00000020 00000000 bf006d68 00000800 ec369f4c 33637764 9f60: 616d6f5f 00000070 00000001 ec368000 ed05a080 c000e670 00000001 c0084010 9f80: 00021088 00000800 00021088 00000081 80000010 0000e6f4 00021088 00000800 9fa0: 00021088 c000e5e0 00021088 00000800 000210b8 00000800 e04f6d00 e04f6d00 9fc0: 00021088 00000800 00021088 00000081 00000001 00000000 be91de08 00021008 9fe0: 4d768880 be91dbb4 b6fc5984 4d76888c 80000010 000210b8 00000000 00000000 [<c0044724>] (release_resource) from [<c034de94>] (platform_device_del+0x6c/0x9c) [<c034de94>] (platform_device_del) from [<c034e194>] (platform_device_unregister+0xc/0x18) [<c034e194>] (platform_device_unregister) from [<bf0062cc>] (dwc3_omap_remove_core+0xc/0x14 [dwc3_omap]) [<bf0062cc>] (dwc3_omap_remove_core [dwc3_omap]) from [<c03490b0>] (device_for_each_child+0x34/0x74) [<c03490b0>] (device_for_each_child) from [<bf0062b4>] (dwc3_omap_remove+0x6c/0x78 [dwc3_omap]) [<bf0062b4>] (dwc3_omap_remove [dwc3_omap]) from [<c034db9c>] (platform_drv_remove+0x18/0x1c) [<c034db9c>] (platform_drv_remove) from [<c034c518>] (__device_release_driver+0x70/0xc8) [<c034c518>] (__device_release_driver) from [<c034cd2c>] (driver_detach+0xb4/0xb8) [<c034cd2c>] (driver_detach) from [<c034c340>] (bus_remove_driver+0x4c/0x90) [<c034c340>] (bus_remove_driver) from [<c00a9e5c>] (SyS_delete_module+0x10c/0x198) [<c00a9e5c>] (SyS_delete_module) from [<c000e5e0>] (ret_fast_syscall+0x0/0x48) Code: e1a04000 e59f0068 eb14505e e5943010 (e5932018) ---[ end trace 7e2a8746ff4fc811 ]--- Segmentation fault [ balbi@ti.com : add CONFIG_OF dependency ] Signed-off-by: George Cherian <george.cherian@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
97 lines
2.6 KiB
Plaintext
97 lines
2.6 KiB
Plaintext
config USB_DWC3
|
|
tristate "DesignWare USB3 DRD Core Support"
|
|
depends on (USB || USB_GADGET) && HAS_DMA
|
|
select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
|
|
help
|
|
Say Y or M here if your system has a Dual Role SuperSpeed
|
|
USB controller based on the DesignWare USB3 IP Core.
|
|
|
|
If you choose to build this driver is a dynamically linked
|
|
module, the module will be called dwc3.ko.
|
|
|
|
if USB_DWC3
|
|
|
|
choice
|
|
bool "DWC3 Mode Selection"
|
|
default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET)
|
|
default USB_DWC3_HOST if (USB && !USB_GADGET)
|
|
default USB_DWC3_GADGET if (!USB && USB_GADGET)
|
|
|
|
config USB_DWC3_HOST
|
|
bool "Host only mode"
|
|
depends on USB=y || USB=USB_DWC3
|
|
help
|
|
Select this when you want to use DWC3 in host mode only,
|
|
thereby the gadget feature will be regressed.
|
|
|
|
config USB_DWC3_GADGET
|
|
bool "Gadget only mode"
|
|
depends on USB_GADGET=y || USB_GADGET=USB_DWC3
|
|
help
|
|
Select this when you want to use DWC3 in gadget mode only,
|
|
thereby the host feature will be regressed.
|
|
|
|
config USB_DWC3_DUAL_ROLE
|
|
bool "Dual Role mode"
|
|
depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3))
|
|
help
|
|
This is the default mode of working of DWC3 controller where
|
|
both host and gadget features are enabled.
|
|
|
|
endchoice
|
|
|
|
comment "Platform Glue Driver Support"
|
|
|
|
config USB_DWC3_OMAP
|
|
tristate "Texas Instruments OMAP5 and similar Platforms"
|
|
depends on EXTCON && (ARCH_OMAP2PLUS || COMPILE_TEST)
|
|
depends on OF
|
|
default USB_DWC3
|
|
help
|
|
Some platforms from Texas Instruments like OMAP5, DRA7xxx and
|
|
AM437x use this IP for USB2/3 functionality.
|
|
|
|
Say 'Y' or 'M' here if you have one such device
|
|
|
|
config USB_DWC3_EXYNOS
|
|
tristate "Samsung Exynos Platform"
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
|
default USB_DWC3
|
|
help
|
|
Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside,
|
|
say 'Y' or 'M' if you have one such device.
|
|
|
|
config USB_DWC3_PCI
|
|
tristate "PCIe-based Platforms"
|
|
depends on PCI
|
|
default USB_DWC3
|
|
help
|
|
If you're using the DesignWare Core IP with a PCIe, please say
|
|
'Y' or 'M' here.
|
|
|
|
One such PCIe-based platform is Synopsys' PCIe HAPS model of
|
|
this IP.
|
|
|
|
config USB_DWC3_KEYSTONE
|
|
tristate "Texas Instruments Keystone2 Platforms"
|
|
depends on ARCH_KEYSTONE || COMPILE_TEST
|
|
default USB_DWC3
|
|
help
|
|
Support of USB2/3 functionality in TI Keystone2 platforms.
|
|
Say 'Y' or 'M' here if you have one such device
|
|
|
|
comment "Debugging features"
|
|
|
|
config USB_DWC3_DEBUG
|
|
bool "Enable Debugging Messages"
|
|
help
|
|
Say Y here to enable debugging messages on DWC3 Driver.
|
|
|
|
config USB_DWC3_VERBOSE
|
|
bool "Enable Verbose Debugging Messages"
|
|
depends on USB_DWC3_DEBUG
|
|
help
|
|
Say Y here to enable verbose debugging messages on DWC3 Driver.
|
|
|
|
endif
|