[RFC 3/4] P2P: Handling single channel concurrency

Jouni Malinen j
Sun Apr 8 11:36:46 PDT 2012


On Tue, Mar 06, 2012 at 10:34:12AM +0530, Jithu Jance wrote:
> Single channel concurrency patch [3/4]
> 
> Hooks for implementing GO/AP channel switch. To be expanded later.

Cleaned up version below. Though, I would like to see an example
implementation for this in driver_nl80211.c, i.e., we need to get this
functionality reviewed on the linux-wireless mailing list and included
in the upstream kernel.

 
[PATCH 2/3] P2P: Add driver op for requesting GO/AP channel switch

Signed-hostap: Jithu Jance <jithu at broadcom.com>
---
 src/drivers/driver.h      |   12 ++++++++++++
 wpa_supplicant/driver_i.h |    8 ++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index 329f89a..7ff1b3d 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2535,6 +2535,18 @@ struct wpa_driver_ops {
 	 * conditions.
 	 */
 	int (*radio_disable)(void *priv, int disabled);
+
+	/**
+	 * switch_channel - Announce channel switch and migrate the GO to the
+	 * given frequency
+	 * @priv: Private driver interface data
+	 * @freq: Frequency in MHz
+	 * Returns: 0 on success, -1 on failure
+	 *
+	 * This function is used to move the GO to the legacy STA channel to
+	 * avoid frequency conflict in single channel concurrency.
+	 */
+	int (*switch_channel)(void *priv, unsigned int freq);
 };
 
 
diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h
index e1e921d..2ab455b 100644
--- a/wpa_supplicant/driver_i.h
+++ b/wpa_supplicant/driver_i.h
@@ -672,4 +672,12 @@ static inline int wpa_drv_radio_disable(struct wpa_supplicant *wpa_s,
 	return wpa_s->driver->radio_disable(wpa_s->drv_priv, disabled);
 }
 
+static inline int wpa_drv_switch_channel(struct wpa_supplicant *wpa_s,
+					 unsigned int freq)
+{
+	if (!wpa_s->driver->switch_channel)
+		return -1;
+	return wpa_s->driver->switch_channel(wpa_s->drv_priv, freq);
+}
+
 #endif /* DRIVER_I_H */
-- 
1.7.4.1

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list