eth/r8152: fix assigning the wrong endpoint
Although I think it never occurs, the code doesn't make sense, because it may allow to assign an IN endpoint to ss->ep_out. Signed-off-by: Hayes Wang <hayeswang@realtek.com>
This commit is contained in:
parent
ab80137cc4
commit
3da0291ba9
@ -1354,9 +1354,8 @@ int r8152_eth_probe(struct usb_device *dev, unsigned int ifnum,
|
||||
struct usb_interface *iface;
|
||||
struct usb_interface_descriptor *iface_desc;
|
||||
int ep_in_found = 0, ep_out_found = 0;
|
||||
int i;
|
||||
|
||||
struct r8152 *tp;
|
||||
int i;
|
||||
|
||||
/* let's examine the device now */
|
||||
iface = &dev->config.if_desc[ifnum];
|
||||
@ -1399,10 +1398,13 @@ int r8152_eth_probe(struct usb_device *dev, unsigned int ifnum,
|
||||
if ((iface->ep_desc[i].bmAttributes &
|
||||
USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) {
|
||||
u8 ep_addr = iface->ep_desc[i].bEndpointAddress;
|
||||
if ((ep_addr & USB_DIR_IN) && !ep_in_found) {
|
||||
ss->ep_in = ep_addr &
|
||||
USB_ENDPOINT_NUMBER_MASK;
|
||||
ep_in_found = 1;
|
||||
|
||||
if (ep_addr & USB_DIR_IN) {
|
||||
if (!ep_in_found) {
|
||||
ss->ep_in = ep_addr &
|
||||
USB_ENDPOINT_NUMBER_MASK;
|
||||
ep_in_found = 1;
|
||||
}
|
||||
} else {
|
||||
if (!ep_out_found) {
|
||||
ss->ep_out = ep_addr &
|
||||
|
Loading…
Reference in New Issue
Block a user