diff options
author | Oliver Neukum <oliver@neukum.org> | 2008-12-17 22:57:35 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-22 22:54:00 -0500 |
commit | 889bd9b6dbcd426b8698c4a779dd7dbf247f57b8 (patch) | |
tree | 595b94f2691726925304887ca88fd775f46d759e /drivers/net/usb/hso.c | |
parent | 05a8c1cbfe368df8c0d4eff710c370d2aa10245a (diff) |
net: startup race in hso driver
The flag marking a device running must be set before the URBs for
recption are submitted or they may complete too early and fail to resubmit.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/hso.c')
-rw-r--r-- | drivers/net/usb/hso.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index c5c1aeae94fe..198ce3cf378a 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
@@ -663,10 +663,9 @@ static int hso_net_open(struct net_device *net) | |||
663 | odev->rx_buf_missing = sizeof(struct iphdr); | 663 | odev->rx_buf_missing = sizeof(struct iphdr); |
664 | spin_unlock_irqrestore(&odev->net_lock, flags); | 664 | spin_unlock_irqrestore(&odev->net_lock, flags); |
665 | 665 | ||
666 | hso_start_net_device(odev->parent); | ||
667 | |||
668 | /* We are up and running. */ | 666 | /* We are up and running. */ |
669 | set_bit(HSO_NET_RUNNING, &odev->flags); | 667 | set_bit(HSO_NET_RUNNING, &odev->flags); |
668 | hso_start_net_device(odev->parent); | ||
670 | 669 | ||
671 | /* Tell the kernel we are ready to start receiving from it */ | 670 | /* Tell the kernel we are ready to start receiving from it */ |
672 | netif_start_queue(net); | 671 | netif_start_queue(net); |