~ubuntu-branches/ubuntu/quantal/linux-lowlatency/quantal-proposed

« back to all changes in this revision

Viewing changes to drivers/usb/core/message.c

  • Committer: Package Import Robot
  • Author(s): Andy Whitcroft, Andy Whitcroft, Ubuntu: 3.5.0-8.8
  • Date: 2012-08-06 10:01:03 UTC
  • Revision ID: package-import@ubuntu.com-20120806100103-fy2yfj838x8zqvkp
Tags: 3.5.0-8.7
[ Andy Whitcroft ]

* [Config] add update-from-master script
* rebase to Ubuntu-3.5.0-8.8

[ Ubuntu: 3.5.0-8.8 ]

* ubuntu: AUFS -- add BOM and automated update script
* ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers
  - LP: #684666
* ubuntu: AUFS -- update aufs-update to track new locations of headers
* ubuntu: AUFS -- clean up the aufs updater and BOM
* ubuntu: AUFS -- documentation on updating aufs2
* ubuntu: AUFS -- fix undefined __devcgroup_inode_permission
* ubuntu: AUFS -- update to 4cf5db36bcd9748e8e7270022f295f84d1fc2245
* ubuntu: AUFS -- updateconfigs following update
* ubuntu: AUFS -- suppress benign plink warning messages
  - LP: #621195
* ubuntu: AUFS -- enable in config and makefile
* ubuntu: AUFS -- disable in favor of overlayfs
* ubuntu: AUFS -- adapt to the new changelog handling
* ubuntu: AUFS -- sort out the relative header paths
* ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0
* ubuntu: AUFS -- aufs3-base.patch
* ubuntu: AUFS -- aufs3-standalone.patch
* ubuntu: AUFS -- update to 4a5e660ed7f5c1d0467c81c535d0fedcfe62d15f
* ubuntu: AUFS -- reenable
* [Config] Add cifs support to the nfs-modules list
  - LP: #1031398
* (pre-stable) iwlwifi: Check BSS ctx active before call mac80211
  - LP: #1021086
* SAUCE: Update aufs for build failure caused by apparmor backport
* SAUCE: firmware: Remove ess files duplicated in linux-firmware
* SAUCE: firmware: Remove kaweth files duplicated in linux-firmware
* SAUCE: firmware: Remove obsolete Chelsio cxgb3 firmware
* SAUCE: firmware: Remove cxgb3 files duplicated in linux-firmware
* SAUCE: firmware: Remove edgeport files duplicated in linux-firmware
* SAUCE: firmware: Remove ti_usb_3410_5052 duplicated in linux-firmware
* SAUCE: firmware: Remove adaptec files duplicated in linux-firmware
* SAUCE: firmware: Remove advansys files duplicated in linux-firmware
* SAUCE: firmware: Remove ambassador files duplicated in linux-firmware
* SAUCE: firmware: Remove av7110 files duplicated in linux-firmware
* SAUCE: cpia2: Declare MODULE_FIRMWARE usage
* SAUCE: firmware: Remove cpia2 files duplicated in linux-firmware
* SAUCE: firmware: Remove korg files duplicated in linux-firmware
* SAUCE: firmware: Remove matrox files duplicated in linux-firmware
* SAUCE: firmware: Remove r128 files duplicated in linux-firmware
* SAUCE: firmware: Remove radeon files duplicated in linux-firmware
* intel_idle: initial IVB support
* KVM: x86: change PT_FIRST_AVAIL_BITS_SHIFT to avoid conflict with EPT
  Dirty bit
* KVM: VMX: Use EPT Access bit in response to memory notifiers
* KVM: VMX: Enable EPT A/D bits if supported by turning on relevant bit
  in EPTP
* KVM: VMX: Add parameter to control A/D bits support, default is on
* KVM: VMX: Add EPT A/D bits definitions
* KVM: VMX: Implement PCID/INVPCID for guests with EPT
* xhci: Export Latency Tolerance Messaging capabilities.
* USB: Fix LPM disable/enable during device reset.
* usb: convert port_owners type from void * to struct dev_state *
* USB: Disable LPM while the device is unconfigured.
* USB: Fix LPM disable count mismatch on driver unbind.
* USB: Enable Latency Tolerance Messaging (LTM).
* drm/i915: enable parity error interrupts
* drm/i915: Dynamic Parity Detection handling
* drm/i915: l3 parity sysfs interface
* drm/i915: remap l3 on hw init
* drm/i915: initialize the parity work only once
* drm/i915: ivybridge_handle_parity_error should be static

Show diffs side-by-side

added added

removed removed

Lines of Context:
1174
1174
                        put_device(&dev->actconfig->interface[i]->dev);
1175
1175
                        dev->actconfig->interface[i] = NULL;
1176
1176
                }
 
1177
                usb_unlocked_disable_lpm(dev);
 
1178
                usb_disable_ltm(dev);
1177
1179
                dev->actconfig = NULL;
1178
1180
                if (dev->state == USB_STATE_CONFIGURED)
1179
1181
                        usb_set_device_state(dev, USB_STATE_ADDRESS);
1791
1793
         * installed, so that the xHCI driver can recalculate the U1/U2
1792
1794
         * timeouts.
1793
1795
         */
1794
 
        if (usb_disable_lpm(dev)) {
 
1796
        if (dev->actconfig && usb_disable_lpm(dev)) {
1795
1797
                dev_err(&dev->dev, "%s Failed to disable LPM\n.", __func__);
1796
1798
                mutex_unlock(hcd->bandwidth_mutex);
1797
1799
                return -ENOMEM;
1798
1800
        }
1799
1801
        ret = usb_hcd_alloc_bandwidth(dev, cp, NULL, NULL);
1800
1802
        if (ret < 0) {
1801
 
                usb_enable_lpm(dev);
 
1803
                if (dev->actconfig)
 
1804
                        usb_enable_lpm(dev);
1802
1805
                mutex_unlock(hcd->bandwidth_mutex);
1803
1806
                usb_autosuspend_device(dev);
1804
1807
                goto free_interfaces;
1818
1821
        if (!cp) {
1819
1822
                usb_set_device_state(dev, USB_STATE_ADDRESS);
1820
1823
                usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL);
1821
 
                usb_enable_lpm(dev);
 
1824
                /* Leave LPM disabled while the device is unconfigured. */
1822
1825
                mutex_unlock(hcd->bandwidth_mutex);
1823
1826
                usb_autosuspend_device(dev);
1824
1827
                goto free_interfaces;
1876
1879
 
1877
1880
        /* Now that the interfaces are installed, re-enable LPM. */
1878
1881
        usb_unlocked_enable_lpm(dev);
 
1882
        /* Enable LTM if it was turned off by usb_disable_device. */
 
1883
        usb_enable_ltm(dev);
1879
1884
 
1880
1885
        /* Now that all the interfaces are set up, register them
1881
1886
         * to trigger binding of drivers to interfaces.  probe()