From: Eliad Peller <eliad@wizery.com>
To: Luciano Coelho <coelho@ti.com>
Cc: <linux-wireless@vger.kernel.org>
Subject: [PATCH 1/7] wl12xx: implement change_interface
Date: Sun, 18 Dec 2011 20:25:39 +0200 [thread overview]
Message-ID: <1324232745-22928-2-git-send-email-eliad@wizery.com> (raw)
In-Reply-To: <1324232745-22928-1-git-send-email-eliad@wizery.com>
Implement the change_interface callback by simply removing the
current vif and adding a new one after updating the vif type.
Signed-off-by: Eliad Peller <eliad@wizery.com>
---
drivers/net/wireless/wl12xx/main.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index c305841..86a7ee3 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -2269,6 +2269,16 @@ out:
cancel_work_sync(&wl->recovery_work);
}
+static int wl12xx_op_change_interface(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif,
+ enum nl80211_iftype new_type, bool p2p)
+{
+ wl1271_op_remove_interface(hw, vif);
+
+ vif->type = ieee80211_iftype_p2p(new_type, p2p);
+ return wl1271_op_add_interface(hw, vif);
+}
+
static int wl1271_join(struct wl1271 *wl, struct wl12xx_vif *wlvif,
bool set_assoc)
{
@@ -4629,6 +4639,7 @@ static const struct ieee80211_ops wl1271_ops = {
.stop = wl1271_op_stop,
.add_interface = wl1271_op_add_interface,
.remove_interface = wl1271_op_remove_interface,
+ .change_interface = wl12xx_op_change_interface,
#ifdef CONFIG_PM
.suspend = wl1271_op_suspend,
.resume = wl1271_op_resume,
--
1.7.6.401.g6a319
next prev parent reply other threads:[~2011-12-18 18:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-18 18:25 [PATCH 0/7] wl12xx: various (multi-vif) fixes Eliad Peller
2011-12-18 18:25 ` Eliad Peller [this message]
2011-12-18 18:37 ` [PATCH 1/7] wl12xx: implement change_interface Arik Nemtsov
2011-12-18 22:16 ` Eliad Peller
2011-12-18 18:25 ` [PATCH 2/7] wl12xx: remove redundant code from wl1271_op_conf_tx Eliad Peller
2011-12-18 18:25 ` [PATCH 3/7] wl12xx: make WL1271_FLAG_IDLE flag per-vif Eliad Peller
2011-12-18 18:25 ` [PATCH 4/7] wl12xx: flush packets before stopping dev role Eliad Peller
2011-12-18 18:25 ` [PATCH 5/7] wl12xx: fix checking of started " Eliad Peller
2011-12-18 18:25 ` [PATCH 6/7] wl12xx: stop device role on remove_interface Eliad Peller
2011-12-18 18:25 ` [PATCH 7/7] wl12xx: check the actual vif operstate in wl1271_dev_notify Eliad Peller
2011-12-20 20:50 ` [PATCH 0/7] wl12xx: various (multi-vif) fixes Luciano Coelho
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1324232745-22928-2-git-send-email-eliad@wizery.com \
--to=eliad@wizery.com \
--cc=coelho@ti.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox