]> git.baikalelectronics.ru Git - kernel.git/commit
usb: xhci-mtk: fix AHB bus hang up caused by roothubs polling
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Tue, 26 Jan 2016 15:50:10 +0000 (17:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Feb 2016 22:01:47 +0000 (14:01 -0800)
commit14c6c5d667a89c8e7e8f6a464e0bd83c1feb1dc8
tree61e58e9397243abdcd3b46d0ce7ca34784bc53cf
parent98b156fe2b71939e503211b76dc504a3cb49c0e4
usb: xhci-mtk: fix AHB bus hang up caused by roothubs polling

when ip fails to enter sleep mode, register access protection will
be disabled, at the same time if all clocks are disabled, access
register will hang up AHB bus.
the common case causes ip sleep failure is that after all ports
enter U3 but before ip enters sleep mode, a port receives a resume
signal('K'). this will happens when such as clicks mouse to try to
do remote-wakeup to stop system enter suspend.
so stop polling root hubs to avoid access xHCI register on bus
suspend, and restart it when bus resumes.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mtk.c