summaryrefslogtreecommitdiff
path: root/arch/xtensa
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2010-05-06 13:40:08 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-20 13:21:30 -0700
commit1624ae1c19e227096ba85bfc389d9b99cb6f7dde (patch)
treefd6040fbcee96469b8878687b0ce8478b63d9098 /arch/xtensa
parente40152ee1e1c7a63f4777791863215e3faa37a86 (diff)
USB: xhci: Fix issue with set interface after stall.
When the USB core installs a new interface, it unconditionally clears the halts on all the endpoints on the new interface. Usually the xHCI host needs to know when an endpoint is reset, so it can change its internal endpoint state. In this case, it doesn't care, because the endpoints were never halted in the first place. To avoid issuing a redundant Reset Endpoint command, the xHCI driver looks at xhci_virt_ep->stopped_td to determine if the endpoint was actually halted. However, the functions that handle the stall never set that variable to NULL after it dealt with the stall. So if an endpoint stalled and a Reset Endpoint command completed, and then the class driver tried to install a new alternate setting, the xHCI driver would access the old xhci_virt_ep->stopped_td pointer. A similar problem occurs if the endpoint has been stopped to cancel a transfer. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch/xtensa')
0 files changed, 0 insertions, 0 deletions