Search Linux Wireless

[RFC 11/15] mac80211: pass cfg80211 periodic scan request structure down to the driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux