summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorJohn Youn <John.Youn@synopsys.com>2010-08-09 13:56:11 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-23 20:50:16 -0700
commita1669b2c64a9c8b031e0ac5cbf2692337a577f7c (patch)
tree4224d7050c9b317c6d18074c678d590b82740236 /drivers/usb
parent666cc076d284e32d11bfc5ea2fbfc50434cff051 (diff)
downloadlinux-3.10-a1669b2c64a9c8b031e0ac5cbf2692337a577f7c.tar.gz
linux-3.10-a1669b2c64a9c8b031e0ac5cbf2692337a577f7c.tar.bz2
linux-3.10-a1669b2c64a9c8b031e0ac5cbf2692337a577f7c.zip
USB: xhci: Remove buggy assignment in next_trb()
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 <johnyoun@synopsys.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/xhci-ring.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index bc3f4f42706..2f19f3a817c 100644
--- 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 *xhci,
*seg = (*seg)->next;
*trb = ((*seg)->trbs);
} else {
- *trb = (*trb)++;
+ (*trb)++;
}
}