Re: [PATCH] usb: xhci-mtk: fix AHB bus hang up caused by roothubs polling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Sorry for the grammar nitpicking but since it's in the comments, I felt the necessity to comment.

On 12/4/2015 5:40 AM, Chunfeng Yun wrote:

when ip fail to enter sleep mode, register access protection will

   Fails.

be disabed, at the same time if all clocks are disabled, access
     ^^^^^^^ disabled

register will hang up AHB bus.
the common case causes ip sleep fail is that after all ports enter

   Failure.

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.

   Wake up.

so stop polling roothubs to avoid access xHCI register on bus

   Root hubs. Accessing.

suspend, and restart it when bus resume.

   Resumes. Or "is resumed", maybe?

Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
---
  drivers/usb/host/xhci-mtk.c | 23 +++++++++++++++++++++++
  1 file changed, 23 insertions(+)

diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c
index c9ab6a4..38635fb 100644
--- a/drivers/usb/host/xhci-mtk.c
+++ b/drivers/usb/host/xhci-mtk.c
@@ -696,9 +696,24 @@ static int xhci_mtk_remove(struct platform_device *dev)
  }

  #ifdef CONFIG_PM_SLEEP
+/*
+ * if ip sleep fail, and all clocks are disabled, access register will hang

   Fails.

+ * AHB bus, so stop poll roothubs to avoid regs access on bus suspend.

   Polling.

+ * and no need to check whether ip sleep fail or not; this will cause SPM to

   Failed.

+ * wakeup system immediately after system suspend complete if ip sleep

   Wake up.

+ * fail, it is what we wanted.

   Fails.

+ */
[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux