Merge 4.15-rc4 into usb-next
We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -2473,12 +2473,16 @@ static int handle_tx_event(struct xhci_hcd *xhci,
|
||||
*/
|
||||
if (list_empty(&ep_ring->td_list)) {
|
||||
/*
|
||||
* A stopped endpoint may generate an extra completion
|
||||
* event if the device was suspended. Don't print
|
||||
* warnings.
|
||||
* Don't print wanings if it's due to a stopped endpoint
|
||||
* generating an extra completion event if the device
|
||||
* was suspended. Or, a event for the last TRB of a
|
||||
* short TD we already got a short event for.
|
||||
* The short TD is already removed from the TD list.
|
||||
*/
|
||||
|
||||
if (!(trb_comp_code == COMP_STOPPED ||
|
||||
trb_comp_code == COMP_STOPPED_LENGTH_INVALID)) {
|
||||
trb_comp_code == COMP_STOPPED_LENGTH_INVALID ||
|
||||
ep_ring->last_td_was_short)) {
|
||||
xhci_warn(xhci, "WARN Event TRB for slot %d ep %d with no TDs queued?\n",
|
||||
TRB_TO_SLOT_ID(le32_to_cpu(event->flags)),
|
||||
ep_index);
|
||||
@@ -3104,7 +3108,7 @@ static u32 xhci_td_remainder(struct xhci_hcd *xhci, int transferred,
|
||||
{
|
||||
u32 maxp, total_packet_count;
|
||||
|
||||
/* MTK xHCI is mostly 0.97 but contains some features from 1.0 */
|
||||
/* MTK xHCI 0.96 contains some features from 1.0 */
|
||||
if (xhci->hci_version < 0x100 && !(xhci->quirks & XHCI_MTK_HOST))
|
||||
return ((td_total_len - transferred) >> 10);
|
||||
|
||||
@@ -3113,8 +3117,8 @@ static u32 xhci_td_remainder(struct xhci_hcd *xhci, int transferred,
|
||||
trb_buff_len == td_total_len)
|
||||
return 0;
|
||||
|
||||
/* for MTK xHCI, TD size doesn't include this TRB */
|
||||
if (xhci->quirks & XHCI_MTK_HOST)
|
||||
/* for MTK xHCI 0.96, TD size include this TRB, but not in 1.x */
|
||||
if ((xhci->quirks & XHCI_MTK_HOST) && (xhci->hci_version < 0x100))
|
||||
trb_buff_len = 0;
|
||||
|
||||
maxp = usb_endpoint_maxp(&urb->ep->desc);
|
||||
|
Reference in New Issue
Block a user