linux-uconsole/drivers/phy
William Wu 73462a3bf9 phy: rockchip: rockchip-inno-usb2: fix lock warning
If the usb otg work as host mode or work as peripheral mode
with vbus always on, the otg_sm_work won't be initialized,
so flush the otg_sm_work in rockchip_usb2phy_exit() will
casuse the following lock warning:

[<ffffff800808b1e0>] dump_backtrace+0x0/0x1ec
[<ffffff800808b3e0>] show_stack+0x14/0x1c
[<ffffff8008403f3c>] dump_stack+0xb8/0xf4
[<ffffff8008107f40>] __lock_acquire+0x670/0x1984
[<ffffff8008109a60>] lock_acquire+0x1a4/0x264
[<ffffff8008129d2c>] del_timer_sync+0x48/0xb8
[<ffffff80080c3c94>] flush_delayed_work+0x20/0x50
[<ffffff80084344ac>] rockchip_usb2phy_exit+0x48/0x58
[<ffffff8008432bc4>] phy_exit+0x64/0xb4
[<ffffff80086733b8>] dwc3_core_exit+0x44/0x98
[<ffffff80086736c4>] dwc3_remove+0x90/0xe4
[<ffffff80085a5a5c>] platform_drv_remove+0x28/0x48
[<ffffff80085a3d14>] __device_release_driver+0xac/0x114
[<ffffff80085a3da4>] device_release_driver+0x28/0x3c
[<ffffff80085a2f38>] bus_remove_device+0x110/0x128
[<ffffff80085a0404>] device_del+0x160/0x1f8
[<ffffff80085a5954>] platform_device_del+0x20/0x88
[<ffffff80085a59d0>] platform_device_unregister+0x14/0x28
[<ffffff80088820f4>] of_platform_device_destroy+0x54/0xa8
[<ffffff800859f790>] device_for_each_child+0x68/0x98
[<ffffff8008882084>] of_platform_depopulate+0x30/0x4c
[<ffffff8008680030>] dwc3_rockchip_probe+0x4d4/0x574
[<ffffff80085a5ad4>] platform_drv_probe+0x58/0xa4
[<ffffff80085a396c>] driver_probe_device+0x118/0x2b0
[<ffffff80085a3b70>] __driver_attach+0x6c/0x98
[<ffffff80085a29d0>] bus_for_each_dev+0x80/0xb0
[<ffffff80085a34a0>] driver_attach+0x20/0x28
[<ffffff80085a3038>] bus_add_driver+0xe8/0x1e4
[<ffffff80085a4ad4>] driver_register+0x94/0xe0
[<ffffff80085a5a2c>] __platform_driver_register+0x48/0x50
[<ffffff8009222224>] dwc3_rockchip_driver_init+0x18/0x20
[<ffffff80080839f4>] do_one_initcall+0x17c/0x198
[<ffffff80091f0e48>] kernel_init_freeable+0x1f8/0x2b0
[<ffffff8008c61810>] kernel_init+0x10/0xf8
[<ffffff80080832c0>] ret_from_fork+0x10/0x50

This patch only allows to flush the otg_sm_work when the usb
bvalid irq is valid.

Fixes: f6fac8b68a ("phy: rockchip: rockchip-inno-usb2: flush otg work when exit")
Change-Id: I4dbe34fa9a330f22abb24ccd625da33425a9f753
Signed-off-by: William Wu <william.wu@rock-chips.com>
2018-07-09 11:06:14 +08:00
..
rockchip phy: rockchip: rockchip-inno-usb2: fix lock warning 2018-07-09 11:06:14 +08:00
Kconfig UPSTREAM: usb: gadget: move gadget API functions to udc-core 2018-04-27 10:27:04 +08:00
Makefile UPSTREAM: phy: Group vendor specific phy drivers 2017-09-28 14:12:47 +08:00
phy-armada375-usb2.c
phy-bcm-cygnus-pcie.c
phy-bcm-kona-usb2.c
phy-berlin-sata.c
phy-berlin-usb.c
phy-brcmstb-sata.c
phy-core.c LSK 18.02 v4.4-android 2018-02-07 20:59:20 +08:00
phy-dm816x-usb.c
phy-exynos-dp-video.c
phy-exynos-mipi-video.c
phy-exynos4x12-usb2.c
phy-exynos5-usbdrd.c
phy-exynos4210-usb2.c
phy-exynos5250-sata.c
phy-exynos5250-usb2.c
phy-hix5hd2-sata.c
phy-lpc18xx-usb-otg.c
phy-miphy28lp.c
phy-miphy365x.c
phy-mt65xx-usb3.c
phy-mvebu-sata.c
phy-omap-control.c
phy-omap-usb2.c
phy-pistachio-usb.c
phy-pxa-28nm-hsic.c
phy-pxa-28nm-usb2.c
phy-qcom-apq8064-sata.c
phy-qcom-ipq806x-sata.c
phy-qcom-ufs-i.h
phy-qcom-ufs-qmp-14nm.c
phy-qcom-ufs-qmp-14nm.h
phy-qcom-ufs-qmp-20nm.c
phy-qcom-ufs-qmp-20nm.h
phy-qcom-ufs.c
phy-rcar-gen2.c
phy-s5pv210-usb2.c
phy-samsung-usb2.c
phy-samsung-usb2.h
phy-spear1310-miphy.c
phy-spear1340-miphy.c
phy-stih41x-usb.c
phy-stih407-usb.c
phy-sun4i-usb.c
phy-sun9i-usb.c
phy-ti-pipe3.c
phy-tusb1210.c
phy-twl4030-usb.c
phy-xgene.c
ulpi_phy.h