lkml.org 
[lkml]   [2014]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 020/142] xhci: Treat not finding the event_seg on COMP_STOP the same as COMP_STOP_INVAL
    Date
    From: Hans de Goede <hdegoede@redhat.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 9a54886342e227433aebc9d374f8ae268a836475 upstream.

    When using a Renesas uPD720231 chipset usb-3 uas to sata bridge with a 120G
    Crucial M500 ssd, model string: Crucial_ CT120M500SSD1, together with a
    the integrated Intel xhci controller on a Haswell laptop:

    00:14.0 USB controller [0c03]: Intel Corporation 8 Series USB xHCI HC [8086:9c31] (rev 04)

    The following error gets logged to dmesg:

    xhci error: Transfer event TRB DMA ptr not part of current TD

    Treating COMP_STOP the same as COMP_STOP_INVAL when no event_seg gets found
    fixes this.

    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/usb/host/xhci-ring.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
    index 6118e292d5df..46ad9f3f589d 100644
    --- a/drivers/usb/host/xhci-ring.c
    +++ b/drivers/usb/host/xhci-ring.c
    @@ -2579,7 +2579,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
    * last TRB of the previous TD. The command completion handle
    * will take care the rest.
    */
    - if (!event_seg && trb_comp_code == COMP_STOP_INVAL) {
    + if (!event_seg && (trb_comp_code == COMP_STOP ||
    + trb_comp_code == COMP_STOP_INVAL)) {
    ret = 0;
    goto cleanup;
    }
    --
    2.1.0


    \
     
     \ /
      Last update: 2014-09-26 13:01    [W:4.063 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site