Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 341589
b: refs/heads/master
c: 4988456
h: refs/heads/master
i:
  341587: ed4a70e
v: v3
  • Loading branch information
Eliad Peller authored and Johannes Berg committed Nov 19, 2012
1 parent e72af89 commit 3439689
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3475b0946bd2057497628790d4b4fce4bfdcc304
refs/heads/master: 49884568628db47a1f8c1f596c6ab3b8db81b73c
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/iwlwifi/dvm/mac80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -1032,6 +1032,7 @@ static void iwlagn_mac_flush(struct ieee80211_hw *hw, bool drop)
}

static int iwlagn_mac_remain_on_channel(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_channel *channel,
enum nl80211_channel_type channel_type,
int duration)
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/mac80211_hwsim.c
Original file line number Diff line number Diff line change
Expand Up @@ -1453,6 +1453,7 @@ static void hw_roc_done(struct work_struct *work)
}

static int mac80211_hwsim_roc(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_channel *chan,
enum nl80211_channel_type channel_type,
int duration)
Expand Down
1 change: 1 addition & 0 deletions trunk/include/net/mac80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -2530,6 +2530,7 @@ struct ieee80211_ops {
int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);

int (*remain_on_channel)(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_channel *chan,
enum nl80211_channel_type channel_type,
int duration);
Expand Down
6 changes: 4 additions & 2 deletions trunk/net/mac80211/cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -2287,7 +2287,8 @@ static int ieee80211_start_roc_work(struct ieee80211_local *local,
if (!duration)
duration = 10;

ret = drv_remain_on_channel(local, channel, channel_type, duration);
ret = drv_remain_on_channel(local, sdata, channel, channel_type,
duration);
if (ret) {
kfree(roc);
return ret;
Expand All @@ -2298,7 +2299,8 @@ static int ieee80211_start_roc_work(struct ieee80211_local *local,

out_check_combine:
list_for_each_entry(tmp, &local->roc_list, list) {
if (tmp->chan != channel || tmp->chan_type != channel_type)
if (tmp->chan != channel || tmp->chan_type != channel_type ||
tmp->sdata != sdata)
continue;

/*
Expand Down
7 changes: 4 additions & 3 deletions trunk/net/mac80211/driver-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -704,6 +704,7 @@ static inline int drv_get_antenna(struct ieee80211_local *local,
}

static inline int drv_remain_on_channel(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
struct ieee80211_channel *chan,
enum nl80211_channel_type chantype,
unsigned int duration)
Expand All @@ -712,9 +713,9 @@ static inline int drv_remain_on_channel(struct ieee80211_local *local,

might_sleep();

trace_drv_remain_on_channel(local, chan, chantype, duration);
ret = local->ops->remain_on_channel(&local->hw, chan, chantype,
duration);
trace_drv_remain_on_channel(local, sdata, chan, chantype, duration);
ret = local->ops->remain_on_channel(&local->hw, &sdata->vif,
chan, chantype, duration);
trace_drv_return_int(local, ret);

return ret;
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/mac80211/offchannel.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ void ieee80211_start_next_roc(struct ieee80211_local *local)
if (!duration)
duration = 10;

ret = drv_remain_on_channel(local, roc->chan,
ret = drv_remain_on_channel(local, roc->sdata, roc->chan,
roc->chan_type,
duration);

Expand Down
13 changes: 9 additions & 4 deletions trunk/net/mac80211/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -1019,28 +1019,33 @@ TRACE_EVENT(drv_get_antenna,
);

TRACE_EVENT(drv_remain_on_channel,
TP_PROTO(struct ieee80211_local *local, struct ieee80211_channel *chan,
TP_PROTO(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
struct ieee80211_channel *chan,
enum nl80211_channel_type chantype, unsigned int duration),

TP_ARGS(local, chan, chantype, duration),
TP_ARGS(local, sdata, chan, chantype, duration),

TP_STRUCT__entry(
LOCAL_ENTRY
VIF_ENTRY
__field(int, center_freq)
__field(int, channel_type)
__field(unsigned int, duration)
),

TP_fast_assign(
LOCAL_ASSIGN;
VIF_ASSIGN;
__entry->center_freq = chan->center_freq;
__entry->channel_type = chantype;
__entry->duration = duration;
),

TP_printk(
LOCAL_PR_FMT " freq:%dMHz duration:%dms",
LOCAL_PR_ARG, __entry->center_freq, __entry->duration
LOCAL_PR_FMT VIF_PR_FMT " freq:%dMHz duration:%dms",
LOCAL_PR_ARG, VIF_PR_ARG,
__entry->center_freq, __entry->duration
)
);

Expand Down

0 comments on commit 3439689

Please sign in to comment.