]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
xhci: add the meaningful IRQ description if it is empty
authorAdrian Huang <ahuang12@lenovo.com>
Thu, 27 Feb 2014 11:26:03 +0000 (11:26 +0000)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 6 Mar 2014 21:46:55 +0000 (13:46 -0800)
When some xHCI host controllers fall back to use the legacy IRQ,
the member irq_descr of the usb_hcd structure will be empty. This
leads to the empty string of the xHCI host controller in
/proc/interrupts. Here is the example (The irq 19 is the xHCI host
controller):

           CPU0
  0:         91 IO-APIC-edge       timer
  8:          1         IO-APIC-edge       rtc0
  9:       7191         IO-APIC-fasteoi    acpi
 18:        104        IR-IO-APIC-fasteoi  ehci_hcd:usb1, ehci_hcd:usb2
 19:        473      IR-IO-APIC-fasteoi

After applying the patch, the name of the registered xHCI host
controller can be displayed correctly. Here is the example:

           CPU0
  0:         91 IO-APIC-edge       timer
  8:          1         IO-APIC-edge       rtc0
  9:       7191         IO-APIC-fasteoi    acpi
 18:        104        IR-IO-APIC-fasteoi  ehci_hcd:usb1, ehci_hcd:usb2
 19:        473      IR-IO-APIC-fasteoi xhci_hcd:usb3

Tested on v3.14-rc4.

Signed-off-by: Adrian Huang <ahuang12@lenovo.com>
Reviewed-by: Nagananda Chumbalkar <nchumbalkar@lenovo.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci.c

index 1db3c2794a49ae37e36bb0e9aa93394be0a68593..652be2138b4bfb9fa095a5f840c394c92d4271e9 100644 (file)
@@ -390,6 +390,10 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
        }
 
  legacy_irq:
+       if (!strlen(hcd->irq_descr))
+               snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
+                        hcd->driver->description, hcd->self.busnum);
+
        /* fall back to legacy interrupt*/
        ret = request_irq(pdev->irq, &usb_hcd_irq, IRQF_SHARED,
                        hcd->irq_descr, hcd);