hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/net/usb/usbnet.c
....@@ -1738,6 +1738,10 @@
17381738 } else if (!info->in || !info->out)
17391739 status = usbnet_get_endpoints (dev, udev);
17401740 else {
1741
+ u8 ep_addrs[3] = {
1742
+ info->in + USB_DIR_IN, info->out + USB_DIR_OUT, 0
1743
+ };
1744
+
17411745 dev->in = usb_rcvbulkpipe (xdev, info->in);
17421746 dev->out = usb_sndbulkpipe (xdev, info->out);
17431747 if (!(info->flags & FLAG_NO_SETINT))
....@@ -1747,6 +1751,8 @@
17471751 else
17481752 status = 0;
17491753
1754
+ if (status == 0 && !usb_check_bulk_endpoints(udev, ep_addrs))
1755
+ status = -EINVAL;
17501756 }
17511757 if (status >= 0 && dev->status)
17521758 status = init_status (dev, udev);