[PATCH RESEND] media: flexcop-usb: fix endpoint type check

From: Johan Hovold
Date: Mon Aug 22 2022 - 11:17:21 EST


Commit d725d20e81c2 ("media: flexcop-usb: sanity checking of endpoint
type") tried to add an endpoint type sanity check for the single
isochronous endpoint but instead broke the driver by checking the wrong
descriptor or random data beyond the last endpoint descriptor.

Make sure to check the right endpoint descriptor.

Fixes: d725d20e81c2 ("media: flexcop-usb: sanity checking of endpoint type")
Cc: Oliver Neukum <oneukum@xxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 5.9
Reported-by: Dongliang Mu <mudongliangabcd@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
---

It's been two months and two completely ignored reminders so resending.

Can someone please pick this fix up and let me know when that has been
done?

Johan


drivers/media/usb/b2c2/flexcop-usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/usb/b2c2/flexcop-usb.c b/drivers/media/usb/b2c2/flexcop-usb.c
index 7835bb0f32fc..e012b21c4fd7 100644
--- a/drivers/media/usb/b2c2/flexcop-usb.c
+++ b/drivers/media/usb/b2c2/flexcop-usb.c
@@ -511,7 +511,7 @@ static int flexcop_usb_init(struct flexcop_usb *fc_usb)

if (fc_usb->uintf->cur_altsetting->desc.bNumEndpoints < 1)
return -ENODEV;
- if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[1].desc))
+ if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[0].desc))
return -ENODEV;

switch (fc_usb->udev->speed) {
--
2.35.1