[lkml]   [2010]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[110/114] USB: xhci: Remove buggy assignment in next_trb()
    2.6.35-stable review patch.  If anyone has any objections, please let us know.


    From: John Youn <>

    commit a1669b2c64a9c8b031e0ac5cbf2692337a577f7c upstream.

    The code to increment the TRB pointer has a slight ambiguity that could
    lead to a bug on different compilers. The ANSI C specification does not
    specify the precedence of the assignment operator over the postfix
    operator. gcc 4.4 produced the correct code (increment the pointer and
    assign the value), but a MIPS compiler that one of John's clients used
    assigned the old (unincremented) value.

    Remove the unnecessary assignment to make all compilers produce the
    correct assembly.

    Signed-off-by: John Youn <>
    Signed-off-by: Sarah Sharp <>
    Signed-off-by: Greg Kroah-Hartman <>

    drivers/usb/host/xhci-ring.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/usb/host/xhci-ring.c
    +++ b/drivers/usb/host/xhci-ring.c
    @@ -131,7 +131,7 @@ static void next_trb(struct xhci_hcd *xh
    *seg = (*seg)->next;
    *trb = ((*seg)->trbs);
    } else {
    - *trb = (*trb)++;
    + (*trb)++;

     \ /
      Last update: 2010-08-25 01:09    [W:0.019 / U:2.148 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site