Re: Bug 196559: xhci_hcd: kernel panic using thunderbolt dell dock TB16 on 4.12.4

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

 



I have tested Mathias' patch on top of v4.13 and it fixes the problem. I was able to suspend/resume a few times with no kernel panics.

Jose

On 09/07/2017 08:09 AM, Mathias Nyman wrote:
On 07.09.2017 14:59, Mathias Nyman wrote:
On 07.09.2017 12:23, Greg KH wrote:
On Wed, Sep 06, 2017 at 10:04:08AM -0600, Jose Marino wrote:
The bug is still present in kernel 4.13. The panic logs look pretty much the same as with 4.12.4. I have attached the pstore and journald messages to the
bugzilla bug report just in case.

I reverted commit 5cc9b698a494827 on top of v4.13 and I can confirm that it
fixes the problem.

Mathias, any thoughts here?  Should we just revert this patch for now to
resolve the issue, or do you know of a fix for it?

thanks,

greg k-h


Adding patch authors to CC

5cc9b698a494827 in stable,  (9da5a1092b13 upstream) has some magic workaround for
ASMEDIA ASM1042A xHCI host.
It does some pci config space reading, polling (sleeping) and writing.

My first guess is that this ASmedia workaround somehow gets called in interrupt context
when host is pci hotplug removed.

Turns out we xhci_stop() will call that sleeping workaround with spin_lock_irq() held

Same usleep_range() -> udelay() fix below should work


Maybe worth trying to use udelay() instead of usleep_range(), or
make sure workaround is not called in interrupt context before reverting the patch

Does this help:

index 658d9d1..98a866f 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -447,7 +447,7 @@ static int usb_asmedia_wait_write(struct pci_dev *pdev)
                 if ((value & ASMT_CONTROL_WRITE_BIT) == 0)
                         return 0;

-               usleep_range(40, 60);
+               udelay(50);
         }

         dev_warn(&pdev->dev, "%s: check_write_ready timeout", __func__);

-Mathias



--
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

--
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