Pass the cfg80211_periodic_request structure down to the driver. This structure contains the channel information (and will have SSID and IE information) to be passed to the driver. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> --- include/net/mac80211.h | 3 ++- net/mac80211/driver-ops.h | 7 ++++--- net/mac80211/driver-trace.h | 5 +++-- net/mac80211/scan.c | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 6b50780..901debb 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -1760,7 +1760,8 @@ struct ieee80211_ops { int (*hw_scan)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_scan_request *req); int (*periodic_start)(struct ieee80211_hw *hw, - struct ieee80211_vif *vif); + struct ieee80211_vif *vif, + struct cfg80211_periodic_request *req); int (*periodic_stop)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); void (*sw_scan_start)(struct ieee80211_hw *hw); diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index c425e1c..88b5f90 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h @@ -192,14 +192,15 @@ static inline int drv_hw_scan(struct ieee80211_local *local, } static inline int drv_periodic_start(struct ieee80211_local *local, - struct ieee80211_sub_if_data *sdata) + struct ieee80211_sub_if_data *sdata, + struct cfg80211_periodic_request *req) { int ret; might_sleep(); - trace_drv_periodic_start(local, sdata); - ret = local->ops->periodic_start(&local->hw, &sdata->vif); + trace_drv_periodic_start(local, sdata, req); + ret = local->ops->periodic_start(&local->hw, &sdata->vif, req); trace_drv_return_int(local, ret); return ret; } diff --git a/net/mac80211/driver-trace.h b/net/mac80211/driver-trace.h index 2acdc43..8d6c7e6 100644 --- a/net/mac80211/driver-trace.h +++ b/net/mac80211/driver-trace.h @@ -441,9 +441,10 @@ TRACE_EVENT(drv_hw_scan, TRACE_EVENT(drv_periodic_start, TP_PROTO(struct ieee80211_local *local, - struct ieee80211_sub_if_data *sdata), + struct ieee80211_sub_if_data *sdata, + struct cfg80211_periodic_request *req), - TP_ARGS(local, sdata), + TP_ARGS(local, sdata, req), TP_STRUCT__entry( LOCAL_ENTRY diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index 9273ab0..fda8d41 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c @@ -846,7 +846,7 @@ int ieee80211_request_periodic_start(struct ieee80211_sub_if_data *sdata, local->periodic_req = req; - ret = drv_periodic_start(local, sdata); + ret = drv_periodic_start(local, sdata, req); if (!ret) __set_bit(SCAN_PERIODIC_SCANNING, &local->scanning); else -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html