~ubuntu-branches/ubuntu/raring/linux-ti-omap4/raring-proposed

« back to all changes in this revision

Viewing changes to drivers/usb/host/uhci-hcd.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Ubuntu: 3.5.0-26.42
  • Date: 2013-03-14 15:21:40 UTC
  • mfrom: (76.1.1 quantal-proposed)
  • Revision ID: package-import@ubuntu.com-20130314152140-tl4mkjmxa038tm3h
Tags: 3.5.0-221.31
* Release Tracking Bug
  - LP: #1153648

[ Paolo Pisati ]

* rebased on Ubuntu-3.5.0-26.42

[ Ubuntu: 3.5.0-26.42 ]

* Release Tracking Bug
  - LP: #1152715
* ubuntu: overlayfs -- fix missmerge of vfs_open changes
  - LP: #1122094, #1147678

Show diffs side-by-side

added added

removed removed

Lines of Context:
447
447
                return IRQ_NONE;
448
448
        uhci_writew(uhci, status, USBSTS);              /* Clear it */
449
449
 
 
450
        spin_lock(&uhci->lock);
 
451
        if (unlikely(!uhci->is_initialized))    /* not yet configured */
 
452
                goto done;
 
453
 
450
454
        if (status & ~(USBSTS_USBINT | USBSTS_ERROR | USBSTS_RD)) {
451
455
                if (status & USBSTS_HSE)
452
456
                        dev_err(uhci_dev(uhci), "host system error, "
455
459
                        dev_err(uhci_dev(uhci), "host controller process "
456
460
                                        "error, something bad happened!\n");
457
461
                if (status & USBSTS_HCH) {
458
 
                        spin_lock(&uhci->lock);
459
462
                        if (uhci->rh_state >= UHCI_RH_RUNNING) {
460
463
                                dev_err(uhci_dev(uhci),
461
464
                                        "host controller halted, "
473
476
                                 * pending unlinks */
474
477
                                mod_timer(&hcd->rh_timer, jiffies);
475
478
                        }
476
 
                        spin_unlock(&uhci->lock);
477
479
                }
478
480
        }
479
481
 
480
 
        if (status & USBSTS_RD)
 
482
        if (status & USBSTS_RD) {
 
483
                spin_unlock(&uhci->lock);
481
484
                usb_hcd_poll_rh_status(hcd);
482
 
        else {
483
 
                spin_lock(&uhci->lock);
 
485
        } else {
484
486
                uhci_scan_schedule(uhci);
 
487
 done:
485
488
                spin_unlock(&uhci->lock);
486
489
        }
487
490
 
662
665
         */
663
666
        mb();
664
667
 
 
668
        spin_lock_irq(&uhci->lock);
665
669
        configure_hc(uhci);
666
670
        uhci->is_initialized = 1;
667
 
        spin_lock_irq(&uhci->lock);
668
671
        start_rh(uhci);
669
672
        spin_unlock_irq(&uhci->lock);
670
673
        return 0;