mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 06:50:08 +00:00
V4L/DVB (11711): gspca - main: Fix a crash when no bandwidth available
When the bandwidth is not wide enough, the transfer endpoint may be set to the one of the alternate setting 0. This one may be null and this causes a divide by 0 oops. Reported-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6929dc6b30
commit
30d35e4950
@ -449,7 +449,8 @@ static struct usb_host_endpoint *alt_xfer(struct usb_host_interface *alt,
|
||||
for (i = 0; i < alt->desc.bNumEndpoints; i++) {
|
||||
ep = &alt->endpoint[i];
|
||||
attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
|
||||
if (attr == xfer)
|
||||
if (attr == xfer
|
||||
&& ep->desc.wMaxPacketSize != 0)
|
||||
return ep;
|
||||
}
|
||||
return NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user