]> git.baikalelectronics.ru Git - kernel.git/commit
usb: xhci: fix checking ep busy for CFC
authorLu Baolu <baolu.lu@linux.intel.com>
Wed, 18 Nov 2015 08:48:21 +0000 (10:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2015 17:24:41 +0000 (09:24 -0800)
commit73fbb835895ebe2cf936c9cc3382c4feea10deca
treeef2c80195877d04cd4438fadea2201c3b6d4b2ec
parenta392b66171212849e603f778d612c034188e4873
usb: xhci: fix checking ep busy for CFC

Function ep_ring_is_processing() checks the dequeue pointer
in endpoint context to know whether an endpoint is busy with
processing TRBs. This is not correct since dequeue pointer
field in an endpoint context is only valid when the endpoint
is in Halted or Stopped states. This buggy code causes audio
noise when playing sound with USB headset connected to host
controllers which support CFC (one of xhci 1.1 features).

This patch should exist in stable kernel since v4.3.

Reported-and-tested-by: YD Tseng <yd_tseng@asmedia.com.tw>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Cc: stable <stable@vger.kernel.org> # v4.3
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c