public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@suse.de>
To: Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org,
	linux-usb-devel@lists.sourceforge.net,
	herbert@gondor.apana.org.au, oliver@neukum.name
Subject: [patch 16/22] USB: fix race in kaweth disconnect
Date: Thu, 17 Nov 2005 09:47:45 -0800	[thread overview]
Message-ID: <20051117174745.GP11174@kroah.com> (raw)
In-Reply-To: <20051117174609.GA11174@kroah.com>

[-- Attachment #1: usb-fix-race-in-kaweth-disconnect.patch --]
[-- Type: text/plain, Size: 1465 bytes --]

From: Herbert Xu <herbert@gondor.apana.org.au>

this patch from Herbert Xu fixes a race by moving termination of
the URBs into close() exclusively.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/usb/net/kaweth.c |   13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

--- usb-2.6.orig/drivers/usb/net/kaweth.c
+++ usb-2.6/drivers/usb/net/kaweth.c
@@ -219,7 +219,6 @@ struct kaweth_device
 
 	__u32 status;
 	int end;
-	int removed;
 	int suspend_lowmem_rx;
 	int suspend_lowmem_ctrl;
 	int linkstate;
@@ -699,6 +698,7 @@ static int kaweth_close(struct net_devic
 
 	usb_kill_urb(kaweth->irq_urb);
 	usb_kill_urb(kaweth->rx_urb);
+	usb_kill_urb(kaweth->tx_urb);
 
 	flush_scheduled_work();
 
@@ -750,13 +750,6 @@ static int kaweth_start_xmit(struct sk_b
 
 	spin_lock(&kaweth->device_lock);
 
-	if (kaweth->removed) {
-	/* our device is undergoing disconnection - we bail out */
-		spin_unlock(&kaweth->device_lock);
-		dev_kfree_skb_irq(skb);
-		return 0;
-	}
-
 	kaweth_async_set_rx_mode(kaweth);
 	netif_stop_queue(net);
 
@@ -1136,10 +1129,6 @@ static void kaweth_disconnect(struct usb
 		return;
 	}
 	netdev = kaweth->net;
-	kaweth->removed = 1;
-	usb_kill_urb(kaweth->irq_urb);
-	usb_kill_urb(kaweth->rx_urb);
-	usb_kill_urb(kaweth->tx_urb);
 
 	kaweth_dbg("Unregistering net device");
 	unregister_netdev(netdev);

--

  parent reply	other threads:[~2005-11-17 18:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20051117174227.007572000@press.kroah.org>
2005-11-17 17:46 ` [patch 00/22] USB patches for 2.6.15-rc1 Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 01/22] USB: fix build breakage in dummy_hcd.c Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 02/22] USB Serial: rename ChangeLog.old Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 03/22] USB: add new wacom devices to usb hid-core list Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 06/22] USB: Delete leftovers from bluetty driver Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 05/22] USB: fix 'unused variable' warning Greg Kroah-Hartman
2005-11-17 17:46   ` [patch 04/22] USB: wacom tablet driver update Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 08/22] USB: usbdevfs_ioctl 32bit fix Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 07/22] usbfs: usbfs_dir_inode_operations cleanup Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 09/22] USB: kill unneccessary usb-storage blacklist entries Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 10/22] USB: cp2101.c: Jablotron usb serial interface identification Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 11/22] USB: onetouch doesn't suspend yet Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 12/22] USB: pl2303: adds new IDs Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 13/22] USB: pl2303: updates pl2303_update_line_status() Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 14/22] USB: Adapt microtek driver to new scsi features Greg Kroah-Hartman
2005-11-17 17:47   ` Greg Kroah-Hartman [this message]
2005-11-17 17:47   ` [patch 17/22] usb devio warning fix Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 18/22] USB: Maxtor OneTouch button support for older drives Greg Kroah-Hartman
2005-11-17 17:47   ` [patch 19/22] USB: OHCI lh7a404 platform device conversion fixup Greg Kroah-Hartman
2005-11-17 17:48   ` [patch 15/22] usb-storage: Fix detection of kodak flash readers in shuttle_usbat driver Greg Kroah-Hartman
2005-11-17 17:48   ` [patch 20/22] USB: move CONFIG_USB_DEBUG checks into the Makefile Greg Kroah-Hartman
2005-11-17 17:48   ` Greg Kroah-Hartman
2005-11-17 17:48   ` [patch 21/22] USB: delete the nokia_dku2 driver Greg Kroah-Hartman
2005-11-17 17:48   ` [patch 22/22] USB: add the anydata usb-serial driver Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051117174745.GP11174@kroah.com \
    --to=gregkh@suse.de \
    --cc=akpm@osdl.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=oliver@neukum.name \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox