lkml.org 
[lkml]   [2014]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.11 069/233] usb: xhci: Check for XHCI_PLAT in xhci_cleanup_msix()
    Date
    3.11.10.4 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jack Pham <jackp@codeaurora.org>

    commit 9005355af23856c55a5538c9024355785424821b upstream.

    If CONFIG_PCI is enabled, make sure xhci_cleanup_msix()
    doesn't try to free a bogus PCI IRQ or dereference an invalid
    pci_dev when the xHCI device is actually a platform_device.

    This patch should be backported to kernels as old as 3.9, that
    contain the commit 52fb61250a7a132b0cfb9f4a1060a1f3c49e5a25
    "xhci-plat: Don't enable legacy PCI interrupts."

    Signed-off-by: Jack Pham <jackp@codeaurora.org>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    drivers/usb/host/xhci.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
    index 2047fb4..920e14b 100644
    --- a/drivers/usb/host/xhci.c
    +++ b/drivers/usb/host/xhci.c
    @@ -316,6 +316,9 @@ static void xhci_cleanup_msix(struct xhci_hcd *xhci)
    struct usb_hcd *hcd = xhci_to_hcd(xhci);
    struct pci_dev *pdev = to_pci_dev(hcd->self.controller);

    + if (xhci->quirks & XHCI_PLAT)
    + return;
    +
    xhci_free_irq(xhci);

    if (xhci->msix_entries) {
    --
    1.8.3.2


    \
     
     \ /
      Last update: 2014-02-07 17:41    [W:5.060 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site