From 36ee9b722dd3cd3294b32ed36cfa5de668737851 Mon Sep 17 00:00:00 2001 From: Mirko Vogt Date: Tue, 30 Jun 2009 22:42:58 +0000 Subject: [PATCH] prevent ar6000 from being deactivated in a inappropriate way SVN-Revision: 16639 --- .../patches-2.6.29/060-patch-ar6000.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 target/linux/s3c24xx/patches-2.6.29/060-patch-ar6000.patch 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); +