Skip to content

Commit

Permalink
ath9k: Print the event/state in ath_chanctx_event
Browse files Browse the repository at this point in the history
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Sujith Manoharan authored and John W. Linville committed Aug 28, 2014
1 parent 02da18b commit 5a8cbec
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
3 changes: 3 additions & 0 deletions drivers/net/wireless/ath/ath9k/ath9k.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,9 @@ struct ath_offchannel {
int roc_duration;
int duration;
};

#define case_rtn_string(val) case val: return #val

#define ath_for_each_chanctx(_sc, _ctx) \
for (ctx = &sc->chanctx[0]; \
ctx <= &sc->chanctx[ARRAY_SIZE(sc->chanctx) - 1]; \
Expand Down
37 changes: 35 additions & 2 deletions drivers/net/wireless/ath/ath9k/channel.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,6 @@ void ath_chanctx_set_channel(struct ath_softc *sc, struct ath_chanctx *ctx,

static const char *offchannel_state_string(enum ath_offchannel_state state)
{
#define case_rtn_string(val) case val: return #val

switch (state) {
case_rtn_string(ATH_OFFCHANNEL_IDLE);
case_rtn_string(ATH_OFFCHANNEL_PROBE_SEND);
Expand All @@ -164,6 +162,37 @@ static const char *offchannel_state_string(enum ath_offchannel_state state)
}
}

static const char *chanctx_event_string(enum ath_chanctx_event ev)
{
switch (ev) {
case_rtn_string(ATH_CHANCTX_EVENT_BEACON_PREPARE);
case_rtn_string(ATH_CHANCTX_EVENT_BEACON_SENT);
case_rtn_string(ATH_CHANCTX_EVENT_TSF_TIMER);
case_rtn_string(ATH_CHANCTX_EVENT_BEACON_RECEIVED);
case_rtn_string(ATH_CHANCTX_EVENT_ASSOC);
case_rtn_string(ATH_CHANCTX_EVENT_SWITCH);
case_rtn_string(ATH_CHANCTX_EVENT_ASSIGN);
case_rtn_string(ATH_CHANCTX_EVENT_UNASSIGN);
case_rtn_string(ATH_CHANCTX_EVENT_CHANGE);
case_rtn_string(ATH_CHANCTX_EVENT_ENABLE_MULTICHANNEL);
default:
return "unknown";
}
}

static const char *chanctx_state_string(enum ath_chanctx_state state)
{
switch (state) {
case_rtn_string(ATH_CHANCTX_STATE_IDLE);
case_rtn_string(ATH_CHANCTX_STATE_WAIT_FOR_BEACON);
case_rtn_string(ATH_CHANCTX_STATE_WAIT_FOR_TIMER);
case_rtn_string(ATH_CHANCTX_STATE_SWITCH);
case_rtn_string(ATH_CHANCTX_STATE_FORCE_ACTIVE);
default:
return "unknown";
}
}

void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx)
{
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
Expand Down Expand Up @@ -275,6 +304,10 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif,
u32 beacon_int;
bool noa_changed = false;

ath_dbg(common, CHAN_CTX, "event: %s, state: %s\n",
chanctx_event_string(ev),
chanctx_state_string(sc->sched.state));

if (vif)
avp = (struct ath_vif *) vif->drv_priv;

Expand Down

0 comments on commit 5a8cbec

Please sign in to comment.