lkml.org 
[lkml]   [2012]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] xhci: EHCI/XHCI ports switching on Intense-PC.
    Hi Denis,

    I found a couple issues with your second patch. There are non-PCI xHCI
    host controllers, so we can't assume the xHCI host is a PCI host. So
    this code can't run in the generic xHCI shutdown method:

    > void xhci_shutdown(struct usb_hcd *hcd)
    > {
    > + struct pci_dev *pdev;
    > + const char *brd_name;
    > struct xhci_hcd *xhci = hcd_to_xhci(hcd);
    >
    > + pdev = to_pci_dev(hcd->self.controller);
    > +
    > + if (usb_is_intel_switchable_xhci(pdev)) {
    > + brd_name = dmi_get_system_info(DMI_BOARD_NAME);
    > +
    > + /* quirk for Compulab's Intense-PC board */
    > + if (brd_name && strstr(brd_name, "Intense-PC"))
    > + usb_disable_xhci_ports(pdev);
    > + }
    > +
    > spin_lock_irq(&xhci->lock);
    > xhci_halt(xhci);
    > spin_unlock_irq(&xhci->lock);

    I think the to_pci_dev call will oops if this isn't a PCI host. Plus,
    I've found out from the BIOS and chipset folks that this quirk needs to
    be more broadly applied. I'll send you a revised patch. Can you test
    it and make sure it works for you?

    Sarah Sharp


    \
     
     \ /
      Last update: 2012-08-07 20:21    [W:0.024 / U:2.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site