diff options
Diffstat (limited to 'drivers/net/usb/usbnet.c')
| -rw-r--r-- | drivers/net/usb/usbnet.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index db9953630da..80b837c88f0 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -210,6 +210,7 @@ static int init_status (struct usbnet *dev, struct usb_interface *intf)  		} else {  			usb_fill_int_urb(dev->interrupt, dev->udev, pipe,  				buf, maxp, intr_complete, dev, period); +			dev->interrupt->transfer_flags |= URB_FREE_BUFFER;  			dev_dbg(&intf->dev,  				"status ep%din, %d bytes period %d\n",  				usb_pipeendpoint(pipe), maxp, period); @@ -1444,7 +1445,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)  	status = register_netdev (net);  	if (status) -		goto out3; +		goto out4;  	netif_info(dev, probe, dev->net,  		   "register '%s' at usb-%s-%s, %s, %pM\n",  		   udev->dev.driver->name, @@ -1462,6 +1463,8 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)  	return 0; +out4: +	usb_free_urb(dev->interrupt);  out3:  	if (info->unbind)  		info->unbind (dev, udev);  |