| From stable-bounces@linux.kernel.org Wed Feb 21 08:52:24 2007 |
| From: David Brownell <david-b@pacbell.net> |
| Date: Wed, 21 Feb 2007 11:50:33 -0500 |
| Subject: USB: usbnet driver bugfix |
| To: Greg KH <greg@kroah.com> |
| Cc: Chuck Ebbert <cebbert@redhat.com> |
| Message-ID: <45DC7859.7060300@redhat.com> |
| |
| From: David Brownell <david-b@pacbell.net> |
| |
| The attached fixes an oops in the usbnet driver. The same patch is |
| in 2.6.21-rc1, but that one has many whitespace changes. This is much |
| smaller. |
| |
| |
| Signed-off-by: David Brownell <david-b@pacbell.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/net/usbnet.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- linux-2.6.20.1.orig/drivers/usb/net/usbnet.c |
| +++ linux-2.6.20.1/drivers/usb/net/usbnet.c |
| @@ -1182,6 +1182,9 @@ usbnet_probe (struct usb_interface *udev |
| // NOTE net->name still not usable ... |
| if (info->bind) { |
| status = info->bind (dev, udev); |
| + if (status < 0) |
| + goto out1; |
| + |
| // heuristic: "usb%d" for links we know are two-host, |
| // else "eth%d" when there's reasonable doubt. userspace |
| // can rename the link if it knows better. |
| @@ -1208,12 +1211,12 @@ usbnet_probe (struct usb_interface *udev |
| if (status == 0 && dev->status) |
| status = init_status (dev, udev); |
| if (status < 0) |
| - goto out1; |
| + goto out3; |
| |
| if (!dev->rx_urb_size) |
| dev->rx_urb_size = dev->hard_mtu; |
| dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1); |
| - |
| + |
| SET_NETDEV_DEV(net, &udev->dev); |
| status = register_netdev (net); |
| if (status) |