diff options
author | Elric Fu <elricfu1@gmail.com> | 2012-06-27 16:31:12 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-28 10:02:14 -0700 |
commit | bc47204b268516ae4085ebdc81a34ddda71b77c4 (patch) | |
tree | c2adf3cab42a559fe127dff07ea031210a4acb11 /drivers/usb/host/xhci-pci.c | |
parent | c76e4de05c23fea3d6ad6df63876a9397dd7c85a (diff) | |
download | kernel_samsung_aries-bc47204b268516ae4085ebdc81a34ddda71b77c4.zip kernel_samsung_aries-bc47204b268516ae4085ebdc81a34ddda71b77c4.tar.gz kernel_samsung_aries-bc47204b268516ae4085ebdc81a34ddda71b77c4.tar.bz2 |
xHCI: add aborting command ring function
commit b92cc66c047ff7cf587b318fe377061a353c120f upstream.
Software have to abort command ring and cancel command
when a command is failed or hang. Otherwise, the command
ring will hang up and can't handle the others. An example
of a command that may hang is the Address Device Command,
because waiting for a SET_ADDRESS request to be acknowledged
by a USB device is outside of the xHC's ability to control.
To cancel a command, software will initialize a command
descriptor for the cancel command, and add it into a
cancel_cmd_list of xhci.
Sarah: Fixed missing newline on "Have the command ring been stopped?"
debugging statement.
This patch should be backported to kernels as old as 3.0, that contain
the commit 7ed603ecf8b68ab81f4c83097d3063d43ec73bb8 "xhci: Add an
assertion to check for virt_dev=0 bug." That commit papers over a NULL
pointer dereference, and this patch fixes the underlying issue that
caused the NULL pointer dereference.
Signed-off-by: Elric Fu <elricfu1@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Tested-by: Miroslav Sabljic <miroslav.sabljic@avl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-pci.c')
0 files changed, 0 insertions, 0 deletions