--- 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 #include "if_ath_debug.h" #include "opt_ah.h" @@ -368,8 +367,10 @@ static unsigned int ath_get_dfs_cac_time static void ath_set_dfs_cac_time(struct ieee80211com *, unsigned int seconds); 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 @@ ath_attach(u_int16_t devid, struct net_d u_int8_t csz; sc->devid = devid; +#ifdef AR_DEBUG ath_debug_global = (ath_debug & ATH_DEBUG_GLOBAL); sc->sc_debug = (ath_debug & ~ATH_DEBUG_GLOBAL); DPRINTF(sc, ATH_DEBUG_ANY, "%s: devid 0x%x\n", __func__, devid); +#endif /* Allocate space for dynamically determined maximum VAP count */ sc->sc_bslot = @@ -1038,8 +1041,9 @@ ath_attach(u_int16_t devid, struct net_d 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 @@ ath_vap_create(struct ieee80211com *ic, /* 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. */ +#ifdef AR_DEBUG vap->iv_debug = 0 | ((sc->sc_debug & ATH_DEBUG_RATE) ? IEEE80211_MSG_XRATE : 0) | ((sc->sc_debug & ATH_DEBUG_XMIT) ? IEEE80211_MSG_OUTPUT : 0) | ((sc->sc_debug & ATH_DEBUG_RECV) ? IEEE80211_MSG_INPUT : 0) | 0 ; +#endif } ic->ic_debug = (sc->sc_default_ieee80211_debug & IEEE80211_MSG_IC); @@ -10496,9 +10502,11 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl /* XXX validate? */ sc->sc_ledpin = val; break; +#ifdef AR_DEBUG case ATH_DEBUG: sc->sc_debug = (val & ~ATH_DEBUG_GLOBAL); ath_debug_global = (val & ATH_DEBUG_GLOBAL); +#endif break; case ATH_TXANTENNA: /* @@ -10918,9 +10926,11 @@ ath_dynamic_sysctl_register(struct ath_s } /* initialize values */ +#ifdef AR_DEBUG ath_debug_global = (ath_debug & ATH_DEBUG_GLOBAL); sc->sc_debug = (ath_debug & ~ATH_DEBUG_GLOBAL); sc->sc_default_ieee80211_debug = ieee80211_debug; +#endif sc->sc_txantenna = 0; /* default to auto-selection */ sc->sc_txintrperiod = ATH_TXQ_INTR_PERIOD; } @@ -11762,6 +11772,7 @@ ath_test_radar(struct ieee80211com *ic) } /* 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_dump_hal_map(struct ieee80211com *ic 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" +#ifdef AR_DEBUG #define AMRR_DEBUG +#endif #ifdef AMRR_DEBUG #define DPRINTF(sc, _fmt, ...) do { \ if (sc->sc_debug & 0x10) \ --- a/ath_rate/minstrel/minstrel.c +++ b/ath_rate/minstrel/minstrel.c @@ -117,7 +117,9 @@ #include "minstrel.h" +#ifdef AR_DEBUG #define MINSTREL_DEBUG +#endif #ifdef MINSTREL_DEBUG enum { ATH_DEBUG_RATE = 0x00000010 /* rate control */ --- a/ath_rate/onoe/onoe.c +++ b/ath_rate/onoe/onoe.c @@ -66,7 +66,9 @@ #include "onoe.h" +#ifdef AR_DEBUG #define ONOE_DEBUG +#endif #ifdef ONOE_DEBUG enum { ATH_DEBUG_RATE = 0x00000010, /* rate control */ --- a/ath_rate/sample/sample.c +++ b/ath_rate/sample/sample.c @@ -68,7 +68,9 @@ #include "sample.h" -#define SAMPLE_DEBUG +#ifdef AR_DEBUG +#define SAMPLE_DEBUG +#endif #ifdef SAMPLE_DEBUG enum { ATH_DEBUG_RATE = 0x00000010, /* rate control */ --- a/tools/do_multi.c +++ b/tools/do_multi.c @@ -10,16 +10,20 @@ main(int argc, char *argv[]) progname = basename(argv[0]); +#ifdef AR_DEBUG if(strcmp(progname, "80211debug") == 0) ret = a80211debug_init(argc, argv); +#endif if(strcmp(progname, "80211stats") == 0) ret = a80211stats_init(argc, argv); if(strcmp(progname, "athchans") == 0) ret = athchans_init(argc, argv); if(strcmp(progname, "athctrl") == 0) ret = athctrl_init(argc, argv); +#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) --- a/tools/Makefile +++ b/tools/Makefile @@ -48,14 +48,16 @@ endif all: compile +DEBUG = -DAR_DEBUG + ALLPROGS= athstats 80211stats athkey athchans athctrl \ - athdebug 80211debug wlanconfig ath_info + $(if $(DEBUG),athdebug 80211debug) wlanconfig ath_info OBJS= $(patsubst %,%.o,$(ALLPROGS)) 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 */ /* #define ATH_DEBUG_SPINLOCKS */ /* announce before spinlocking */ #include <linux/wireless.h> --- a/Makefile.inc +++ b/Makefile.inc @@ -147,8 +147,9 @@ ATH_RATE= $(TOP)/ath_rate # TOOLS= $(TOP)/tools -WARNINGS = -Werror -COPTS+= $(WARNINGS) +WARNINGS = -Wno-unused +# 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 @@ static inline HAL_BOOL ath_hal_disable(s 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 @@ static inline void ath_hal_dump_map(stru #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 @@ struct ieee80211com { /* 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 @@ ieee80211_get_txcont_power(struct net_de 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 @@ ieee80211_ioctl_hal_map(struct net_devic 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 @@ static const struct iw_priv_args ieee802 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 @@ static const iw_handler ieee80211_priv_h 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 @@ enum { 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 @@ enum { 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 @@ enum { #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 @@ node_cleanup(struct ieee80211_node *ni) 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 @@ static void node_print_message( 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 @@ ath_pci_probe(struct pci_dev *pdev, cons 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 @@ ath_pci_probe(struct pci_dev *pdev, cons 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",