aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2012-03-16 13:19:35 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-22 15:31:11 -0700
commitb064ece817b7a2eb3541473bd1520962ee16f01b (patch)
tree3d23d078212a56c8c20fc4b7b07ac313d850fe5c /net/bluetooth
parentd7082288dc88fc3266c86d638f78d433de4b24f2 (diff)
downloadkernel_samsung_smdk4412-b064ece817b7a2eb3541473bd1520962ee16f01b.zip
kernel_samsung_smdk4412-b064ece817b7a2eb3541473bd1520962ee16f01b.tar.gz
kernel_samsung_smdk4412-b064ece817b7a2eb3541473bd1520962ee16f01b.tar.bz2
xhci: Fix register save/restore order.
commit c7713e736526d8c9f6f87716fb90562a8ffaff2c upstream. The xHCI 1.0 spec errata released on June 13, 2011, changes the ordering that the xHCI registers are saved and restored in. It moves the interrupt pending (IMAN) and interrupt control (IMOD) registers to be saved and restored last. I believe that's because the host controller may attempt to fetch the event ring table when interrupts are re-enabled. Therefore we need to restore the event ring registers before we re-enable interrupts. This should be backported to kernels as old as 2.6.37, that contain the commit 5535b1d5f8885695c6ded783c692e3c0d0eda8ca "USB: xHCI: PCI power management implementation" Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Tested-by: Elric Fu <elricfu1@gmail.com> Cc: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/bluetooth')
0 files changed, 0 insertions, 0 deletions