From: Greg Kroah-Hartman Date: Fri, 25 Jan 2013 20:41:02 +0000 (-0800) Subject: Merge 3.8-rc5 into usb-next X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=67635d397a643514fdfa859f611b86bd3ad8958d;p=openwrt%2Fstaging%2Fblogic.git Merge 3.8-rc5 into usb-next This fixes up a conflict with drivers/usb/serial/io_ti.c that came up in linux-next. Signed-off-by: Greg Kroah-Hartman --- 67635d397a643514fdfa859f611b86bd3ad8958d diff --cc drivers/usb/host/uhci-hcd.c index 01628e39cc8b,4f64d24eebc8..4a86b63745b8 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@@ -447,22 -447,26 +447,25 @@@ static irqreturn_t uhci_irq(struct usb_ return IRQ_NONE; uhci_writew(uhci, status, USBSTS); /* Clear it */ + spin_lock(&uhci->lock); + if (unlikely(!uhci->is_initialized)) /* not yet configured */ + goto done; + if (status & ~(USBSTS_USBINT | USBSTS_ERROR | USBSTS_RD)) { if (status & USBSTS_HSE) - dev_err(uhci_dev(uhci), "host system error, " - "PCI problems?\n"); + dev_err(uhci_dev(uhci), + "host system error, PCI problems?\n"); if (status & USBSTS_HCPE) - dev_err(uhci_dev(uhci), "host controller process " - "error, something bad happened!\n"); + dev_err(uhci_dev(uhci), + "host controller process error, something bad happened!\n"); if (status & USBSTS_HCH) { - spin_lock(&uhci->lock); if (uhci->rh_state >= UHCI_RH_RUNNING) { dev_err(uhci_dev(uhci), - "host controller halted, " - "very bad!\n"); + "host controller halted, very bad!\n"); if (debug > 1 && errbuf) { /* Print the schedule for debugging */ - uhci_sprint_schedule(uhci, - errbuf, ERRBUF_LEN); + uhci_sprint_schedule(uhci, errbuf, + ERRBUF_LEN - EXTRA_SPACE); lprintk(errbuf); } uhci_hc_died(uhci);