mirror of https://github.com/hak5/openwrt.git
409 lines
11 KiB
Diff
409 lines
11 KiB
Diff
--- 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",
|