summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--trafgen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/trafgen.c b/trafgen.c
index 3b2f471..ce2967d 100644
--- a/trafgen.c
+++ b/trafgen.c
@@ -342,11 +342,11 @@ static void apply_csum16(int csum_id)
struct csum16 *csum = &packet_dyn[i].csum[j];
fmemset(&packets[i].payload[csum->off], 0, sizeof(sum));
+ if (unlikely(csum->to >= packets[i].len))
+ csum->to = packets[i].len - 1;
switch (csum->which) {
case CSUM_IP:
- if (csum->to >= packets[i].len)
- csum->to = packets[i].len - 1;
sum = calc_csum(packets[i].payload + csum->from,
csum->to - csum->from + 1, 0);
break;
@@ -362,6 +362,9 @@ static void apply_csum16(int csum_id)
(packets[i].len - csum->to),
IPPROTO_TCP);
break;
+ default:
+ bug();
+ break;
}
fmemcpy(&packets[i].payload[csum->off], &sum, sizeof(sum));
b6b4e5d599c7289526eed96541a0654&id2=877a021e08ccb6434718c0cc781fdf943c884cc0'>diff)
HID: cp2112: fix sleep-while-atomic
A recent commit fixing DMA-buffers on stack added a shared transfer buffer protected by a spinlock. This is broken as the USB HID request callbacks can sleep. Fix this up by replacing the spinlock with a mutex. Fixes: 1ffb3c40ffb5 ("HID: cp2112: make transfer buffers DMA capable") Cc: stable <stable@vger.kernel.org> # 4.9 Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'tools/perf/tests/parse-events.c')