5d04c88379
The sunxi musb has a bug where sometimes it will generate a babble error on device disconnect instead of a disconnect irq. When this happens the musb-controller switches from host mode to device mode (it clears MUSB_DEVCTL_SESSION and sets MUSB_DEVCTL_BDEVICE) and gets stuck in this state. Clearing this requires reporting Vbus low for 200 or more ms, but on some devices Vbus is simply always high (host-only mode, no Vbus control). This commit modifies sun4i_usb_phy_set_mode so that it will force end the current session when called with the current mode, before this commit calling set_mode with the current mode was a nop since id_det would stay the same resulting in the detect_work not doing anything. This allows the sunxi-musb glue to use sun4i_usb_phy_set_mode to force end the current session without changing the mode, to fixup the stuck state after a babble error. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> |
||
---|---|---|
.. | ||
tegra | ||
Kconfig | ||
Makefile | ||
phy-armada375-usb2.c | ||
phy-bcm-cygnus-pcie.c | ||
phy-bcm-kona-usb2.c | ||
phy-bcm-ns2-pcie.c | ||
phy-bcm-ns-usb2.c | ||
phy-bcm-ns-usb3.c | ||
phy-berlin-sata.c | ||
phy-berlin-usb.c | ||
phy-brcm-sata.c | ||
phy-core.c | ||
phy-da8xx-usb.c | ||
phy-dm816x-usb.c | ||
phy-exynos4x12-usb2.c | ||
phy-exynos5-usbdrd.c | ||
phy-exynos4210-usb2.c | ||
phy-exynos5250-sata.c | ||
phy-exynos5250-usb2.c | ||
phy-exynos-dp-video.c | ||
phy-exynos-mipi-video.c | ||
phy-hi6220-usb.c | ||
phy-hix5hd2-sata.c | ||
phy-lpc18xx-usb-otg.c | ||
phy-meson8b-usb2.c | ||
phy-miphy28lp.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-rcar-gen3-usb2.c | ||
phy-rockchip-dp.c | ||
phy-rockchip-emmc.c | ||
phy-rockchip-inno-usb2.c | ||
phy-rockchip-pcie.c | ||
phy-rockchip-typec.c | ||
phy-rockchip-usb.c | ||
phy-s5pv210-usb2.c | ||
phy-samsung-usb2.c | ||
phy-samsung-usb2.h | ||
phy-spear1310-miphy.c | ||
phy-spear1340-miphy.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 |