diff options
author | mirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-30 22:42:58 +0000 |
---|---|---|
committer | mirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-30 22:42:58 +0000 |
commit | 3b0d74bc64ab85ecc187e5fe957521540e970460 (patch) | |
tree | 30b487603d6c5474e268ff6f0f31119ea015e5bd /target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch | |
parent | 3523b1119ea3336e7fdca806d33f8fdc2bcd27fb (diff) |
prevent ar6000 from being deactivated in a inappropriate way
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16639 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch b/target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch new file mode 100644 index 000000000..6e5ba875b --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch @@ -0,0 +1,36 @@ +diff -ruN linux-2.6.29.orig/drivers/ar6000/ar6000/ar6000_drv.c linux-2.6.29/drivers/ar6000/ar6000/ar6000_drv.c +--- linux-2.6.29.orig/drivers/ar6000/ar6000/ar6000_drv.c 2009-06-23 11:24:09.000000000 +0200 ++++ linux-2.6.29/drivers/ar6000/ar6000/ar6000_drv.c 2009-06-23 12:09:00.000000000 +0200 +@@ -213,6 +213,7 @@ + int ar6000_init(struct net_device *dev); + static int ar6000_open(struct net_device *dev); + static int ar6000_close(struct net_device *dev); ++static int ar6000_cleanup(struct net_device *dev); + static void ar6000_init_control_info(AR_SOFTC_T *ar); + static int ar6000_data_tx(struct sk_buff *skb, struct net_device *dev); + +@@ -984,6 +985,7 @@ + unregister_netdev(dev); + } else { + ar6000_close(dev); ++ ar6000_cleanup(dev); + } + + free_raw_buffers(ar); +@@ -1090,8 +1092,15 @@ + static int + ar6000_close(struct net_device *dev) + { +- AR_SOFTC_T *ar = netdev_priv(dev); ++ /* Stop the transmit queues */ ++ netif_stop_queue(dev); ++ return 0; ++} + ++static int ++ar6000_cleanup(struct net_device *dev) ++{ ++ AR_SOFTC_T *ar = netdev_priv(dev); + /* Stop the transmit queues */ + netif_stop_queue(dev); + |