diff options
Diffstat (limited to 'drivers/usb/usbip/stub_rx.c')
-rw-r--r-- | drivers/usb/usbip/stub_rx.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/usb/usbip/stub_rx.c b/drivers/usb/usbip/stub_rx.c index 97b09a42a10c..dbfb2f24d71e 100644 --- a/drivers/usb/usbip/stub_rx.c +++ b/drivers/usb/usbip/stub_rx.c | |||
@@ -361,16 +361,10 @@ static int get_pipe(struct stub_device *sdev, struct usbip_header *pdu) | |||
361 | } | 361 | } |
362 | 362 | ||
363 | if (usb_endpoint_xfer_isoc(epd)) { | 363 | if (usb_endpoint_xfer_isoc(epd)) { |
364 | /* validate packet size and number of packets */ | 364 | /* validate number of packets */ |
365 | unsigned int maxp, packets, bytes; | ||
366 | |||
367 | maxp = usb_endpoint_maxp(epd); | ||
368 | maxp *= usb_endpoint_maxp_mult(epd); | ||
369 | bytes = pdu->u.cmd_submit.transfer_buffer_length; | ||
370 | packets = DIV_ROUND_UP(bytes, maxp); | ||
371 | |||
372 | if (pdu->u.cmd_submit.number_of_packets < 0 || | 365 | if (pdu->u.cmd_submit.number_of_packets < 0 || |
373 | pdu->u.cmd_submit.number_of_packets > packets) { | 366 | pdu->u.cmd_submit.number_of_packets > |
367 | USBIP_MAX_ISO_PACKETS) { | ||
374 | dev_err(&sdev->udev->dev, | 368 | dev_err(&sdev->udev->dev, |
375 | "CMD_SUBMIT: isoc invalid num packets %d\n", | 369 | "CMD_SUBMIT: isoc invalid num packets %d\n", |
376 | pdu->u.cmd_submit.number_of_packets); | 370 | pdu->u.cmd_submit.number_of_packets); |