diff options
author | Mirko Vogt <mirko@openwrt.org> | 2009-06-30 22:42:58 +0000 |
---|---|---|
committer | Mirko Vogt <mirko@openwrt.org> | 2009-06-30 22:42:58 +0000 |
commit | 36ee9b722dd3cd3294b32ed36cfa5de668737851 (patch) | |
tree | 94622fcf42b353e865c2e272ba825e8614631897 /target/linux/s3c24xx | |
parent | ba5d1f65acea7fa5f5a65ba84fa41ab50264e862 (diff) | |
download | master-31e0f0ae-36ee9b722dd3cd3294b32ed36cfa5de668737851.tar.gz master-31e0f0ae-36ee9b722dd3cd3294b32ed36cfa5de668737851.tar.bz2 master-31e0f0ae-36ee9b722dd3cd3294b32ed36cfa5de668737851.zip |
prevent ar6000 from being deactivated in a inappropriate way
SVN-Revision: 16639
Diffstat (limited to 'target/linux/s3c24xx')
-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 0000000000..6e5ba875b0 --- /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); + |