-Index: madwifi-ng-r2978-20071127/ath/if_ath.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/ath/if_ath.c 2007-11-27 21:43:39.632991016 +0100
-+++ madwifi-ng-r2978-20071127/ath/if_ath.c 2007-11-27 22:09:32.889506059 +0100
-@@ -67,7 +67,7 @@
- #include "if_media.h"
- #include "if_llc.h"
-
+--- a/ath/if_ath.c
++++ b/ath/if_ath.c
+@@ -42,7 +42,6 @@
+ * This software is derived from work of Atsushi Onoe; his contribution
+ * is greatly appreciated.
+ */
-#define AR_DEBUG
-+#undef AR_DEBUG
+ #include "if_ath_debug.h"
+ #include "opt_ah.h"
+
+@@ -368,8 +367,10 @@
+ static void ath_set_dfs_cac_time(struct ieee80211com *, unsigned int seconds);
- #include <net80211/ieee80211_var.h>
- #include <net80211/ieee80211_radiotap.h>
-@@ -535,9 +535,11 @@
+ static unsigned int ath_test_radar(struct ieee80211com *);
+-static unsigned int ath_dump_hal_map(struct ieee80211com *ic);
++#ifdef AR_DEBUG
+
++static unsigned int ath_dump_hal_map(struct ieee80211com *ic);
++#endif
+ static u_int32_t ath_get_clamped_maxtxpower(struct ath_softc *sc);
+ static u_int32_t ath_set_clamped_maxtxpower(struct ath_softc *sc,
+ u_int32_t new_clamped_maxtxpower);
+@@ -520,9 +521,11 @@
u_int8_t csz;
sc->devid = devid;
DPRINTF(sc, ATH_DEBUG_ANY, "%s: devid 0x%x\n", __func__, devid);
+#endif
- /*
- * Cache line size is used to size and align various
-@@ -1268,12 +1270,14 @@
+ /* Allocate space for dynamically determined maximum VAP count */
+ sc->sc_bslot =
+@@ -1038,8 +1041,9 @@
+ ic->ic_vap_delete = ath_vap_delete;
+
+ ic->ic_test_radar = ath_test_radar;
++#ifdef AR_DEBUG
+ ic->ic_dump_hal_map = ath_dump_hal_map;
+-
++#endif
+ ic->ic_set_dfs_testmode = ath_set_dfs_testmode;
+ ic->ic_get_dfs_testmode = ath_get_dfs_testmode;
+
+@@ -1297,12 +1301,14 @@
/* If no default VAP debug flags are passed, allow a few to
* transfer down from the driver to new VAPs so we can have load
* time debugging for VAPs too. */
}
ic->ic_debug = (sc->sc_default_ieee80211_debug & IEEE80211_MSG_IC);
-@@ -9872,9 +9876,11 @@
+@@ -10496,9 +10502,11 @@
/* XXX validate? */
sc->sc_ledpin = val;
break;
break;
case ATH_TXANTENNA:
/*
-@@ -10183,9 +10189,11 @@
+@@ -10918,9 +10926,11 @@
}
/* initialize values */
sc->sc_txantenna = 0; /* default to auto-selection */
sc->sc_txintrperiod = ATH_TXQ_INTR_PERIOD;
}
-Index: madwifi-ng-r2978-20071127/ath_rate/amrr/amrr.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/ath_rate/amrr/amrr.c 2007-10-31 06:39:41.000000000 +0100
-+++ madwifi-ng-r2978-20071127/ath_rate/amrr/amrr.c 2007-11-27 21:47:06.136758995 +0100
-@@ -70,7 +70,7 @@
+@@ -11762,6 +11772,7 @@
+ }
+
+ /* This is called by a private ioctl (iwpriv) to dump the HAL obfuscation table */
++#ifdef AR_DEBUG
+ static unsigned int
+ ath_dump_hal_map(struct ieee80211com *ic)
+ {
+@@ -11770,7 +11781,7 @@
+ ath_hal_dump_map(sc->sc_ah);
+ return 0;
+ }
+-
++#endif
+ /* If we are shutting down or blowing off the DFS channel availability check
+ * then we call this to stop the behavior before we take the rest of the
+ * necessary actions (such as a DFS reaction to radar). */
+--- a/ath_rate/amrr/amrr.c
++++ b/ath_rate/amrr/amrr.c
+@@ -70,7 +70,9 @@
#include "amrr.h"
--#define AMRR_DEBUG
-+#undef AMRR_DEBUG
++#ifdef AR_DEBUG
+ #define AMRR_DEBUG
++#endif
#ifdef AMRR_DEBUG
#define DPRINTF(sc, _fmt, ...) do { \
if (sc->sc_debug & 0x10) \
-Index: madwifi-ng-r2978-20071127/ath_rate/minstrel/minstrel.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/ath_rate/minstrel/minstrel.c 2007-11-27 21:18:24.882670317 +0100
-+++ madwifi-ng-r2978-20071127/ath_rate/minstrel/minstrel.c 2007-11-27 21:47:06.140759225 +0100
-@@ -117,7 +117,7 @@
+--- a/ath_rate/minstrel/minstrel.c
++++ b/ath_rate/minstrel/minstrel.c
+@@ -117,7 +117,9 @@
#include "minstrel.h"
--#define MINSTREL_DEBUG
-+#undef MINSTREL_DEBUG
++#ifdef AR_DEBUG
+ #define MINSTREL_DEBUG
++#endif
#ifdef MINSTREL_DEBUG
enum {
ATH_DEBUG_RATE = 0x00000010 /* rate control */
-Index: madwifi-ng-r2978-20071127/ath_rate/onoe/onoe.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/ath_rate/onoe/onoe.c 2007-10-31 06:39:41.000000000 +0100
-+++ madwifi-ng-r2978-20071127/ath_rate/onoe/onoe.c 2007-11-27 21:47:06.144759451 +0100
-@@ -66,7 +66,7 @@
+--- a/ath_rate/onoe/onoe.c
++++ b/ath_rate/onoe/onoe.c
+@@ -66,7 +66,9 @@
#include "onoe.h"
--#define ONOE_DEBUG
-+#undef ONOE_DEBUG
++#ifdef AR_DEBUG
+ #define ONOE_DEBUG
++#endif
#ifdef ONOE_DEBUG
enum {
ATH_DEBUG_RATE = 0x00000010, /* rate control */
-Index: madwifi-ng-r2978-20071127/ath_rate/sample/sample.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/ath_rate/sample/sample.c 2007-11-21 09:23:20.000000000 +0100
-+++ madwifi-ng-r2978-20071127/ath_rate/sample/sample.c 2007-11-27 21:47:06.148759680 +0100
-@@ -68,7 +68,7 @@
+--- a/ath_rate/sample/sample.c
++++ b/ath_rate/sample/sample.c
+@@ -68,7 +68,9 @@
#include "sample.h"
-#define SAMPLE_DEBUG
-+#undef SAMPLE_DEBUG
++#ifdef AR_DEBUG
++#define SAMPLE_DEBUG
++#endif
#ifdef SAMPLE_DEBUG
enum {
ATH_DEBUG_RATE = 0x00000010, /* rate control */
-Index: madwifi-ng-r2978-20071127/tools/do_multi.c
-===================================================================
---- madwifi-ng-r2978-20071127.orig/tools/do_multi.c 2007-11-27 21:18:24.826667124 +0100
-+++ madwifi-ng-r2978-20071127/tools/do_multi.c 2007-11-27 21:47:06.152759909 +0100
+--- a/tools/do_multi.c
++++ b/tools/do_multi.c
@@ -9,16 +9,20 @@
progname = basename(argv[0]);
-+#if 0
++#ifdef AR_DEBUG
if(strcmp(progname, "80211debug") == 0)
ret = a80211debug_init(argc, argv);
+#endif
ret = athchans_init(argc, argv);
if(strcmp(progname, "athctrl") == 0)
ret = athctrl_init(argc, argv);
-+#if 0
++#ifdef AR_DEBUG
if(strcmp(progname, "athdebug") == 0)
ret = athdebug_init(argc, argv);
+#endif
if(strcmp(progname, "athkey") == 0)
ret = athkey_init(argc, argv);
if(strcmp(progname, "athstats") == 0)
-Index: madwifi-ng-r2978-20071127/tools/Makefile
-===================================================================
---- madwifi-ng-r2978-20071127.orig/tools/Makefile 2007-11-27 21:18:24.826667124 +0100
-+++ madwifi-ng-r2978-20071127/tools/Makefile 2007-11-27 21:47:06.152759909 +0100
-@@ -48,7 +48,7 @@
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -48,6 +48,8 @@
+ all: compile
++DEBUG = -DAR_DEBUG
++
ALLPROGS= athstats 80211stats athkey athchans athctrl \
-- athdebug 80211debug wlanconfig ath_info
-+ wlanconfig ath_info
-
- OBJS= $(patsubst %,%.o,$(ALLPROGS) do_multi)
- ALL= ${OBJS} madwifi_multi
-@@ -84,7 +84,7 @@
- ${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c
- madwifi_multi: $(OBJS)
- ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS}
-- for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \
-+ for i in athstats 80211stats athkey athchans athctrl wlanconfig; do \
- ln -s -f madwifi_multi $$i; \
- done
-
-Index: madwifi-ng-r2978-20071127/net80211/ieee80211_linux.h
-===================================================================
---- madwifi-ng-r2978-20071127.orig/net80211/ieee80211_linux.h 2007-11-27 21:47:46.371051817 +0100
-+++ madwifi-ng-r2978-20071127/net80211/ieee80211_linux.h 2007-11-27 21:47:56.199611915 +0100
-@@ -29,8 +29,8 @@
+ athdebug 80211debug wlanconfig ath_info
+
+@@ -55,7 +57,7 @@
+
+ INCS= -I. -I../ath -I$(HAL) -I$(TOP) -I$(ATH_HAL)
+ CFLAGS= -g -O2 -Wall
+-ALL_CFLAGS= $(CFLAGS) $(INCS)
++ALL_CFLAGS= $(CFLAGS) $(INCS) $(DEBUG)
+ LDFLAGS=
+
+
+--- a/net80211/ieee80211_linux.h
++++ b/net80211/ieee80211_linux.h
+@@ -29,8 +29,6 @@
#ifndef _NET80211_IEEE80211_LINUX_H_
#define _NET80211_IEEE80211_LINUX_H_
-#define IEEE80211_DEBUG
-#define IEEE80211_DEBUG_REFCNT /* Node reference count debugging */
-+#undef IEEE80211_DEBUG
-+#undef IEEE80211_DEBUG_REFCNT /* Node reference count debugging */
/* #define ATH_DEBUG_SPINLOCKS */ /* announce before spinlocking */
#include <linux/wireless.h>
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -148,7 +148,8 @@
+ TOOLS= $(TOP)/tools
+
+ WARNINGS = -Werror
+-COPTS+= $(WARNINGS)
++DEBUG = -DAR_DEBUG -DIEEE80211_DEBUG
++COPTS+= $(WARNINGS) $(DEBUG)
+ INCS= -include $(TOP)/include/compat.h -I$(TOP)/include
+
+ # TARGET defines the target platform architecture. It must match one of
+--- a/ath/if_ath_radar.c
++++ b/ath/if_ath_radar.c
+@@ -19,8 +19,6 @@
+ * $Id: if_ath_radar.c 2464 2007-06-15 22:51:56Z mtaylor $
+ */
+ #include "opt_ah.h"
+-
+-#define AR_DEBUG
+ #include "if_ath_debug.h"
+
+ #ifndef AUTOCONF_INCLUDED
+@@ -56,8 +54,6 @@
+ #include <net80211/if_llc.h>
+ #endif
+
+-#define AR_DEBUG
+-
+ #include "net80211/if_athproto.h"
+ #include "if_athvar.h"
+
+--- a/ath/if_ath_hal.h
++++ b/ath/if_ath_hal.h
+@@ -1081,6 +1081,7 @@
+
+ tail -f /var/log/messages | sed -f hal_unmangle.sed
+ */
++#ifdef AR_DEBUG
+ static inline void ath_hal_dump_map(struct ath_hal *ah)
+ {
+ #ifdef CONFIG_KALLSYMS
+@@ -1345,7 +1346,7 @@
+ #endif /* #ifndef CONFIG_KALLSYMS */
+
+ }
+-
++#endif
+ #include "if_ath_hal_wrappers.h"
+
+ #endif /* #ifndef _IF_ATH_HAL_H_ */
+--- a/net80211/ieee80211_var.h
++++ b/net80211/ieee80211_var.h
+@@ -492,9 +492,10 @@
+ /* inject a fake radar signal -- used while on a 802.11h DFS channels */
+ unsigned int (*ic_test_radar)(struct ieee80211com *);
+
++#ifdef AR_DEBUG
+ /* dump HAL */
+ unsigned int (*ic_dump_hal_map)(struct ieee80211com *);
+-
++#endif
+ /* DFS channel availability check time (in seconds) */
+ void (*ic_set_dfs_cac_time)(struct ieee80211com *, unsigned int);
+ unsigned int (*ic_get_dfs_cac_time)(struct ieee80211com *);
+--- a/net80211/ieee80211_wireless.c
++++ b/net80211/ieee80211_wireless.c
+@@ -1548,6 +1548,7 @@
+ return 0;
+ }
+
++#ifdef AR_DEBUG
+ static int
+ ieee80211_ioctl_hal_map(struct net_device *dev, struct iw_request_info *info,
+ void *w, char *extra)
+@@ -1558,7 +1559,7 @@
+ params[0] = ic->ic_dump_hal_map(ic);
+ return 0;
+ }
+-
++#endif
+
+ static int
+ ieee80211_ioctl_radar(struct net_device *dev, struct iw_request_info *info,
+@@ -5258,8 +5259,10 @@
+ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getwmmparams" },
+ { IEEE80211_IOCTL_RADAR,
+ 0, 0, "doth_radar" },
++#ifdef AR_DEBUG
+ { IEEE80211_IOCTL_HALMAP,
+ 0, 0, "dump_hal_map" },
++#endif
+ /*
+ * These depends on sub-ioctl support which added in version 12.
+ */
+@@ -5695,7 +5698,9 @@
+ set_priv(IEEE80211_IOCTL_SETMLME, ieee80211_ioctl_setmlme),
+ set_priv(IEEE80211_IOCTL_SETKEY, ieee80211_ioctl_setkey),
+ set_priv(IEEE80211_IOCTL_DELKEY, ieee80211_ioctl_delkey),
++#ifdef AR_DEBUG
+ set_priv(IEEE80211_IOCTL_HALMAP, ieee80211_ioctl_hal_map),
++#endif
+ set_priv(IEEE80211_IOCTL_ADDMAC, ieee80211_ioctl_addmac),
+ set_priv(IEEE80211_IOCTL_DELMAC, ieee80211_ioctl_delmac),
+ set_priv(IEEE80211_IOCTL_WDSADDMAC, ieee80211_ioctl_wdsmac),
+--- a/ath/if_ath_debug.h
++++ b/ath/if_ath_debug.h
+@@ -54,6 +54,10 @@
+ ATH_DEBUG_GLOBAL = (ATH_DEBUG_SKB|ATH_DEBUG_SKB_REF)
+ };
+
++#define EPRINTF(_sc, _fmt, ...) \
++ printk(KERN_ERR "%s: %s: " _fmt, \
++ SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
++
+ #ifdef AR_DEBUG
+
+ /* DEBUG-ONLY DEFINITIONS */
+@@ -68,20 +72,9 @@
+ ath_keyprint((_sc), __func__, _ix, _hk, _mac); \
+ } while (0)
+
+-#else /* #ifdef AR_DEBUG */
+-
+-#define DFLAG_ISSET(sc, _m) 0
+-#define DPRINTF(sc, _m, _fmt, ...)
+-#define KEYPRINTF(sc, k, ix, mac)
+-
+-#endif /* #ifdef AR_DEBUG */
+
+ #define IFF_DUMPPKTS(_sc, _m) DFLAG_ISSET((_sc), (_m))
+
+-#define EPRINTF(_sc, _fmt, ...) \
+- printk(KERN_ERR "%s: %s: " _fmt, \
+- SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
+-
+ #define WPRINTF(_sc, _fmt, ...) \
+ printk(KERN_WARNING "%s: %s: " _fmt, \
+ SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
+@@ -89,5 +82,14 @@
+ #define IPRINTF(_sc, _fmt, ...) \
+ printk(KERN_INFO "%s: %s: " _fmt, \
+ SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
++#else
++#define DFLAG_ISSET(sc, _m) 0
++#define DPRINTF(sc, _m, _fmt, ...)
++#define KEYPRINTF(sc, k, ix, mac)
++#define WPRINTF(...)
++#define IPRINTF(...)
++#define IFF_DUMPPKTS(...) 0
++
++#endif
+
+ #endif /* #ifndef _IF_ATH_DEBUG_H_ */
+--- a/net80211/ieee80211_node.c
++++ b/net80211/ieee80211_node.c
+@@ -920,6 +920,9 @@
+ ni->ni_rxkeyoff = 0;
+ }
+
++#ifndef IEEE80211_DEBUG
++#define node_print_message(...) do {} while(0)
++#else
+ static void node_print_message(
+ u_int32_t flags,
+ int show_counter,
+@@ -972,7 +975,7 @@
+ adjusted_refcount);
+ va_end(args);
+ }
+-EXPORT_SYMBOL(node_print_message);
++#endif
+
+ static void
+ #ifdef IEEE80211_DEBUG_REFCNT
+--- a/ath/if_ath_pci.c
++++ b/ath/if_ath_pci.c
+@@ -134,8 +134,10 @@
+ u16 vdevice;
+ int i;
+
+- if (pci_enable_device(pdev))
++ if (pci_enable_device(pdev)) {
++ printk(KERN_ERR "%s: failed to enable PCI device\n", dev_info);
+ return -EIO;
++ }
+
+ /* XXX 32-bit addressing only */
+ if (pci_set_dma_mask(pdev, 0xffffffff)) {
+@@ -244,8 +246,10 @@
+ sc->aps_sc.sc_ledpin = 1;
+ }
+
+- if (ath_attach(vdevice, dev, NULL) != 0)
++ if ((i = ath_attach(vdevice, dev, NULL)) != 0) {
++ printk(KERN_ERR "%s: ath_attach failed: %d\n", dev_info, i);
+ goto bad4;
++ }
+
+ athname = ath_hal_probe(id->vendor, vdevice);
+ printk(KERN_INFO "%s: %s: %s: mem=0x%lx, irq=%d\n",