r3927 - developers/sameo/patches/ar6k-atheros-2.0/2.6.24

sameo at sita.openmoko.org sameo at sita.openmoko.org
Tue Jan 22 18:43:41 CET 2008


Author: sameo
Date: 2008-01-22 18:43:39 +0100 (Tue, 22 Jan 2008)
New Revision: 3927

Modified:
   developers/sameo/patches/ar6k-atheros-2.0/2.6.24/atheros_2_0_function.patch
Log:
ar6k-atheros-2.0: We don't unregister our netdev if it doesn't exist.


Modified: developers/sameo/patches/ar6k-atheros-2.0/2.6.24/atheros_2_0_function.patch
===================================================================
--- developers/sameo/patches/ar6k-atheros-2.0/2.6.24/atheros_2_0_function.patch	2008-01-22 17:34:38 UTC (rev 3926)
+++ developers/sameo/patches/ar6k-atheros-2.0/2.6.24/atheros_2_0_function.patch	2008-01-22 17:43:39 UTC (rev 3927)
@@ -3,7 +3,7 @@
  drivers/sdio/function/Makefile                               |    1 
  drivers/sdio/function/wlan/Makefile                          |    4 
  drivers/sdio/function/wlan/ar6000/Makefile                   |   38 
- drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.c        | 3069 +++++++
+ drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.c        | 3070 +++++++
  drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.h        |  361 
  drivers/sdio/function/wlan/ar6000/ar6000/ar6000_raw_if.c     |  439 +
  drivers/sdio/function/wlan/ar6000/ar6000/ar6xapi_linux.h     |  128 
@@ -83,7 +83,7 @@
  drivers/sdio/function/wlan/ar6000/wmi/wmi.c                  | 3921 +++++++++
  drivers/sdio/function/wlan/ar6000/wmi/wmi_doc.h              | 4421 +++++++++++
  drivers/sdio/function/wlan/ar6000/wmi/wmi_host.h             |   71 
- 84 files changed, 32510 insertions(+)
+ 84 files changed, 32511 insertions(+)
 
 Index: linux-2.6.24-rc8-omoko/drivers/sdio/function/Kconfig
 ===================================================================
@@ -165,15 +165,15 @@
 Index: linux-2.6.24-rc8-omoko/drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.24-rc8-omoko/drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.c	2008-01-22 13:33:10.000000000 +0100
-@@ -0,0 +1,3069 @@
++++ linux-2.6.24-rc8-omoko/drivers/sdio/function/wlan/ar6000/ar6000/ar6000_drv.c	2008-01-22 17:52:19.000000000 +0100
+@@ -0,0 +1,3070 @@
 +/*
 + *
 + * Copyright (c) 2004-2007 Atheros Communications Inc.
 + * All rights reserved.
 + *
 + *
-+ *  This program is free software; you can redistribute it and/or modify
++ *  This program is free software; you can redristribute it and/or modify
 + *  it under the terms of the GNU General Public License version 2 as
 + *  published by the Free Software Foundation;
 + *
@@ -378,7 +378,7 @@
 +static void ar6000_init_control_info(AR_SOFTC_T *ar);
 +static int ar6000_data_tx(struct sk_buff *skb, struct net_device *dev);
 +
-+static void ar6000_destroy(struct net_device *dev);
++static void ar6000_destroy(struct net_device *dev, unsigned int unregister);
 +static void ar6000_detect_error(unsigned long ptr);
 +static struct net_device_stats *ar6000_get_stats(struct net_device *dev);
 +static struct iw_statistics *ar6000_get_iwstats(struct net_device * dev);
@@ -728,7 +728,7 @@
 +        if (ar6000_devices[i] != NULL) {
 +            ar6000_netdev = ar6000_devices[i];
 +            ar6000_devices[i] = NULL;
-+            ar6000_destroy(ar6000_netdev);
++            ar6000_destroy(ar6000_netdev, 1);
 +        }
 +    }
 +
@@ -1011,7 +1011,7 @@
 +    /* This runs the init function */
 +    if (register_netdev(dev)) {
 +        AR_DEBUG_PRINTF("ar6000_avail: register_netdev failed\n");
-+        ar6000_destroy(dev);
++        ar6000_destroy(dev, 0);
 +        return;
 +    }
 +
@@ -1065,7 +1065,7 @@
 +    AR_SOFTC_T *ar = (AR_SOFTC_T *)Instance;
 +        /* NULL out it's entry in the global list */
 +    ar6000_devices[ar->arDeviceIndex] = NULL;
-+    ar6000_destroy(ar->arNetDev);
++    ar6000_destroy(ar->arNetDev, 1);
 +}
 +
 +/*
@@ -1083,7 +1083,7 @@
 + *   removal since they will anyway not go through.
 + */
 +static void
-+ar6000_destroy(struct net_device *dev)
++ar6000_destroy(struct net_device *dev, unsigned int unregister)
 +{
 +    AR_SOFTC_T *ar;
 +
@@ -1173,7 +1173,8 @@
 +
 +
 +    /* Free up the device data structure */
-+    unregister_netdev(dev);
++    if (unregister)
++	    unregister_netdev(dev);
 +#ifndef free_netdev
 +    kfree(dev);
 +#else





More information about the commitlog mailing list