From: Ming Lei Date: Tue, 19 Jun 2012 21:15:51 +0000 (+0000) Subject: usbnet: clear OPEN flag in failure path X-Git-Tag: v3.5-rc5~17^2~24 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=fb13c47b8e5ce707268bd38cfd082da377eac4b7;p=~emulex%2Finfiniband.git usbnet: clear OPEN flag in failure path Without clearing OPEN flag in failure path, runtime or system resume may submit interrupt/rx URB and start tx queue mistakenly on a interface in DOWN state. Signed-off-by: Ming Lei Acked-by: Oliver Neukum Signed-off-by: David S. Miller --- diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index d4f7256a607..815493caea7 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -796,11 +796,13 @@ int usbnet_open (struct net_device *net) if (info->manage_power) { retval = info->manage_power(dev, 1); if (retval < 0) - goto done; + goto done_manage_power_error; usb_autopm_put_interface(dev->intf); } return retval; +done_manage_power_error: + clear_bit(EVENT_DEV_OPEN, &dev->flags); done: usb_autopm_put_interface(dev->intf); done_nopm: