* pull-request: mac80211-next 2012-07-10
@ 2012-07-10 18:48 Johannes Berg
2012-07-12 9:27 ` Johannes Berg
2012-07-12 10:15 ` pull-request: mac80211-next 2012-07-12 Johannes Berg
0 siblings, 2 replies; 7+ messages in thread
From: Johannes Berg @ 2012-07-10 18:48 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
[-- Attachment #1: Type: text/plain, Size: 5192 bytes --]
John,
Please pull some more patches. I've included the first round of API
additions/updates for the P2P Device abstraction, I don't know if we'll
get the actual code done in time for 3.6 but I didn't want to hang on to
these APIs for too long to avoid conflicts.
I've also included some more fixes for the multi-channel and 60GHz work
as well as a few other fixes.
Thanks,
johannes
The following changes since commit 4d6d0ae2a088e1e054ef6d96ceb1b41523291e71:
mac80211_hwsim: add testmode code to stop/wake queues (2012-07-06 15:27:15 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git for-john
for you to fetch changes up to a9f9f43341bc5c8d2bd2ef8034fdd1789d5e0b19:
cfg80211: fix locking and lockdep complaints (2012-07-10 19:40:34 +0200)
----------------------------------------------------------------
Arik Nemtsov (1):
mac80211: fix invalid band deref building preq IEs
Christian Lamparter (1):
mac80211: request TX status for BlockAck Requests
Johannes Berg (18):
mac80211: update BSS info on AC parameters change
mac80211: remove unused assignment
mac80211: remove ieee80211_key_removed
nl80211: prepare for non-netdev wireless devs
nl80211: add NL80211_FLAG_NEED_WDEV
nl80211: retrieve interface data by wdev
nl80211: don't assume wdev->netdev exists
cfg80211: use wdev in mgmt-tx/ROC APIs
cfg80211: use wireless_dev for interface management
nl80211: send interface after creation
nl80211: move scan API to wdev
mac80211: make scan_sdata pointer usable with RCU
mac80211: track scheduled scan virtual interface
mac80211: redesign scan RX
mac80211: optimize ieee80211_rx_status struct layout
mac80211: add time synchronisation with BSS for assoc
mac80211: restructure key selection
cfg80211: fix locking and lockdep complaints
Nicolas Cavallari (1):
mac80211: tx: do not drop non-robust mgmt to non-MFP stas.
Sylvain Roger Rieunier (1):
minstrel_ht: enable frame aggregation for fixed rate
Vladimir Kondratiev (1):
cfg80211: fix oops due to unassigned set_monitor_enabled callback
Documentation/DocBook/80211.tmpl | 1 -
drivers/net/wireless/ath/ath6kl/cfg80211.c | 58 +--
drivers/net/wireless/ath/ath6kl/cfg80211.h | 6 +-
drivers/net/wireless/ath/ath6kl/core.c | 8 +-
drivers/net/wireless/ath/ath6kl/core.h | 5 +
drivers/net/wireless/ath/ath6kl/wmi.c | 10 +-
.../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 3 +-
drivers/net/wireless/iwlegacy/common.c | 2 +-
drivers/net/wireless/iwlwifi/dvm/rxon.c | 2 +-
drivers/net/wireless/iwmc3200wifi/cfg80211.c | 3 +-
drivers/net/wireless/libertas/cfg.c | 1 -
drivers/net/wireless/mwifiex/cfg80211.c | 27 +-
drivers/net/wireless/mwifiex/main.c | 4 +-
drivers/net/wireless/mwifiex/main.h | 10 +-
drivers/net/wireless/orinoco/cfg.c | 2 +-
drivers/net/wireless/rndis_wlan.c | 5 +-
drivers/net/wireless/rt2x00/rt2x00config.c | 2 +-
include/linux/nl80211.h | 5 +
include/net/cfg80211.h | 75 ++--
include/net/mac80211.h | 40 +--
net/mac80211/agg-tx.c | 3 +-
net/mac80211/cfg.c | 48 +--
net/mac80211/debugfs.c | 2 -
net/mac80211/ieee80211_i.h | 20 +-
net/mac80211/iface.c | 15 +-
net/mac80211/key.c | 20 --
net/mac80211/main.c | 3 +-
net/mac80211/mlme.c | 45 +--
net/mac80211/offchannel.c | 6 +-
net/mac80211/rc80211_minstrel_ht.c | 8 +-
net/mac80211/rx.c | 49 +--
net/mac80211/scan.c | 116 +++---
net/mac80211/status.c | 9 +-
net/mac80211/trace.h | 6 +-
net/mac80211/tx.c | 25 +-
net/mac80211/util.c | 2 +
net/wireless/chan.c | 4 +-
net/wireless/core.c | 27 +-
net/wireless/core.h | 11 +-
net/wireless/mlme.c | 34 +-
net/wireless/nl80211.c | 373 ++++++++++++++------
net/wireless/nl80211.h | 16 +-
net/wireless/scan.c | 24 +-
net/wireless/sme.c | 10 +-
net/wireless/util.c | 17 +-
45 files changed, 657 insertions(+), 505 deletions(-)
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: pull-request: mac80211-next 2012-07-10
2012-07-10 18:48 pull-request: mac80211-next 2012-07-10 Johannes Berg
@ 2012-07-12 9:27 ` Johannes Berg
2012-07-12 9:56 ` Johannes Berg
2012-07-12 10:15 ` pull-request: mac80211-next 2012-07-12 Johannes Berg
1 sibling, 1 reply; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 9:27 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
On Tue, 2012-07-10 at 20:48 +0200, Johannes Berg wrote:
> John,
>
> Please pull some more patches. I've included the first round of API
> additions/updates for the P2P Device abstraction, I don't know if we'll
> get the actual code done in time for 3.6 but I didn't want to hang on to
> these APIs for too long to avoid conflicts.
Ugh, I found a bug with this, please drop, I'll respin. Sorry!
johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: pull-request: mac80211-next 2012-07-10
2012-07-12 9:27 ` Johannes Berg
@ 2012-07-12 9:56 ` Johannes Berg
2012-07-12 10:00 ` Johannes Berg
0 siblings, 1 reply; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 9:56 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
On Thu, 2012-07-12 at 11:27 +0200, Johannes Berg wrote:
> On Tue, 2012-07-10 at 20:48 +0200, Johannes Berg wrote:
> > John,
> >
> > Please pull some more patches. I've included the first round of API
> > additions/updates for the P2P Device abstraction, I don't know if we'll
> > get the actual code done in time for 3.6 but I didn't want to hang on to
> > these APIs for too long to avoid conflicts.
>
> Ugh, I found a bug with this, please drop, I'll respin. Sorry!
Ok the bug is this -- if we remove a wdev (that doesn't have a netdev),
this change is obviously needed:
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 27cd18e..70452aa 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -6768,6 +6768,7 @@ static int nl80211_pre_doit(struct genl_ops *ops, struct sk_buff *skb,
info->user_ptr[1] = dev;
} else {
info->user_ptr[1] = wdev;
+ info->user_ptr[2] = wdev->netdev;
}
if (dev) {
@@ -6799,10 +6800,8 @@ static void nl80211_post_doit(struct genl_ops *ops, struct sk_buff *skb,
cfg80211_unlock_rdev(info->user_ptr[0]);
if (info->user_ptr[1]) {
if (ops->internal_flags & NL80211_FLAG_NEED_WDEV) {
- struct wireless_dev *wdev = info->user_ptr[1];
-
- if (wdev->netdev)
- dev_put(wdev->netdev);
+ if (info->user_ptr[2])
+ dev_put(info->user_ptr[2]);
} else {
dev_put(info->user_ptr[1]);
}
I've rolled it into the patch that introduced the bug ("nl80211: add
NL80211_FLAG_NEED_WDEV") and will send a new pull request. Obviously,
I'm therefore rebasing my tree.
Sorry for the inconvenience!
johannes
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: pull-request: mac80211-next 2012-07-10
2012-07-12 9:56 ` Johannes Berg
@ 2012-07-12 10:00 ` Johannes Berg
2012-07-12 10:08 ` Johannes Berg
0 siblings, 1 reply; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 10:00 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
On Thu, 2012-07-12 at 11:56 +0200, Johannes Berg wrote:
> On Thu, 2012-07-12 at 11:27 +0200, Johannes Berg wrote:
> > On Tue, 2012-07-10 at 20:48 +0200, Johannes Berg wrote:
> > > John,
> > >
> > > Please pull some more patches. I've included the first round of API
> > > additions/updates for the P2P Device abstraction, I don't know if we'll
> > > get the actual code done in time for 3.6 but I didn't want to hang on to
> > > these APIs for too long to avoid conflicts.
> >
> > Ugh, I found a bug with this, please drop, I'll respin. Sorry!
>
> Ok the bug is this -- if we remove a wdev (that doesn't have a netdev),
> this change is obviously needed:
>
>
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 27cd18e..70452aa 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -6768,6 +6768,7 @@ static int nl80211_pre_doit(struct genl_ops *ops, struct sk_buff *skb,
> info->user_ptr[1] = dev;
> } else {
> info->user_ptr[1] = wdev;
> + info->user_ptr[2] = wdev->netdev;
Ok, it's not that simple, ouch! The user_ptr[] array only has two
entries!
johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: pull-request: mac80211-next 2012-07-10
2012-07-12 10:00 ` Johannes Berg
@ 2012-07-12 10:08 ` Johannes Berg
0 siblings, 0 replies; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 10:08 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
On Thu, 2012-07-12 at 12:00 +0200, Johannes Berg wrote:
> > Ok the bug is this -- if we remove a wdev (that doesn't have a netdev),
> > this change is obviously needed:
Better just handle the special case, I'm rolling this into the patch
"cfg80211: use wireless_dev for interface management":
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -2030,6 +2030,16 @@ static int nl80211_del_interface(struct sk_buff *skb, struct genl_info *info)
if (!rdev->ops->del_virtual_intf)
return -EOPNOTSUPP;
+ /*
+ * If we remove a wireless device without a netdev then clear
+ * user_ptr[1] so that nl80211_post_doit won't dereference it
+ * to check if it needs to do dev_put(). Otherwise it crashes
+ * since the wdev has been freed, unlike with a netdev where
+ * we need the dev_put() for the netdev to really be freed.
+ */
+ if (!wdev->netdev)
+ info->user_ptr[1] = NULL;
+
return rdev->ops->del_virtual_intf(&rdev->wiphy, wdev);
}
johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* pull-request: mac80211-next 2012-07-12
2012-07-10 18:48 pull-request: mac80211-next 2012-07-10 Johannes Berg
2012-07-12 9:27 ` Johannes Berg
@ 2012-07-12 10:15 ` Johannes Berg
2012-07-12 12:41 ` Johannes Berg
1 sibling, 1 reply; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 10:15 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
[-- Attachment #1: Type: text/plain, Size: 5373 bytes --]
John,
Here's a fixed pull request, please take this version. I've included the
fixed version of the API additions/updates for the P2P Device
abstraction, I still don't know if we'll get the actual code done in
time for 3.6 but I didn't want to hang on to these APIs for too long to
avoid conflicts.
I've also included some more fixes for the multi-channel and 60GHz work
as well as a few other fixes.
The "iterate monitor interfaces patch" is new over the previous version
of the pull request.
Thanks,
Johannes
The following changes since commit 4d6d0ae2a088e1e054ef6d96ceb1b41523291e71:
mac80211_hwsim: add testmode code to stop/wake queues (2012-07-06 15:27:15 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
for you to fetch changes up to 685fb72b63faf09a767cc28332545f5830b91be8:
mac80211: iterate the virtual monitor interface (2012-07-12 12:10:50 +0200)
----------------------------------------------------------------
Arik Nemtsov (1):
mac80211: fix invalid band deref building preq IEs
Christian Lamparter (1):
mac80211: request TX status for BlockAck Requests
Johannes Berg (19):
mac80211: update BSS info on AC parameters change
mac80211: remove unused assignment
mac80211: remove ieee80211_key_removed
nl80211: prepare for non-netdev wireless devs
nl80211: add NL80211_FLAG_NEED_WDEV
nl80211: retrieve interface data by wdev
nl80211: don't assume wdev->netdev exists
cfg80211: use wdev in mgmt-tx/ROC APIs
cfg80211: use wireless_dev for interface management
nl80211: send interface after creation
nl80211: move scan API to wdev
mac80211: make scan_sdata pointer usable with RCU
mac80211: track scheduled scan virtual interface
mac80211: redesign scan RX
mac80211: optimize ieee80211_rx_status struct layout
mac80211: add time synchronisation with BSS for assoc
mac80211: restructure key selection
cfg80211: fix locking and lockdep complaints
mac80211: iterate the virtual monitor interface
Nicolas Cavallari (1):
mac80211: tx: do not drop non-robust mgmt to non-MFP stas.
Sylvain Roger Rieunier (1):
minstrel_ht: enable frame aggregation for fixed rate
Vladimir Kondratiev (1):
cfg80211: fix oops due to unassigned set_monitor_enabled callback
Documentation/DocBook/80211.tmpl | 1 -
drivers/net/wireless/ath/ath6kl/cfg80211.c | 58 +--
drivers/net/wireless/ath/ath6kl/cfg80211.h | 6 +-
drivers/net/wireless/ath/ath6kl/core.c | 8 +-
drivers/net/wireless/ath/ath6kl/core.h | 5 +
drivers/net/wireless/ath/ath6kl/wmi.c | 10 +-
.../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 3 +-
drivers/net/wireless/iwlegacy/common.c | 2 +-
drivers/net/wireless/iwlwifi/dvm/rxon.c | 2 +-
drivers/net/wireless/iwmc3200wifi/cfg80211.c | 3 +-
drivers/net/wireless/libertas/cfg.c | 1 -
drivers/net/wireless/mwifiex/cfg80211.c | 27 +-
drivers/net/wireless/mwifiex/main.c | 4 +-
drivers/net/wireless/mwifiex/main.h | 10 +-
drivers/net/wireless/orinoco/cfg.c | 2 +-
drivers/net/wireless/rndis_wlan.c | 5 +-
drivers/net/wireless/rt2x00/rt2x00config.c | 2 +-
include/linux/nl80211.h | 5 +
include/net/cfg80211.h | 75 ++--
include/net/mac80211.h | 40 +-
net/mac80211/agg-tx.c | 3 +-
net/mac80211/cfg.c | 48 +--
net/mac80211/debugfs.c | 2 -
net/mac80211/ieee80211_i.h | 20 +-
net/mac80211/iface.c | 44 ++-
net/mac80211/key.c | 20 -
net/mac80211/main.c | 3 +-
net/mac80211/mlme.c | 45 +--
net/mac80211/offchannel.c | 6 +-
net/mac80211/rc80211_minstrel_ht.c | 8 +-
net/mac80211/rx.c | 49 +--
net/mac80211/scan.c | 116 +++---
net/mac80211/status.c | 9 +-
net/mac80211/trace.h | 6 +-
net/mac80211/tx.c | 25 +-
net/mac80211/util.c | 11 +
net/wireless/chan.c | 4 +-
net/wireless/core.c | 27 +-
net/wireless/core.h | 11 +-
net/wireless/mlme.c | 34 +-
net/wireless/nl80211.c | 383 ++++++++++++++------
net/wireless/nl80211.h | 16 +-
net/wireless/scan.c | 24 +-
net/wireless/sme.c | 10 +-
net/wireless/util.c | 17 +-
45 files changed, 695 insertions(+), 515 deletions(-)
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: pull-request: mac80211-next 2012-07-12
2012-07-12 10:15 ` pull-request: mac80211-next 2012-07-12 Johannes Berg
@ 2012-07-12 12:41 ` Johannes Berg
0 siblings, 0 replies; 7+ messages in thread
From: Johannes Berg @ 2012-07-12 12:41 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
On Thu, 2012-07-12 at 12:15 +0200, Johannes Berg wrote:
> John,
>
> Here's a fixed pull request, please take this version. I've included the
> fixed version of the API additions/updates for the P2P Device
> abstraction, I still don't know if we'll get the actual code done in
> time for 3.6 but I didn't want to hang on to these APIs for too long to
> avoid conflicts.
>
> I've also included some more fixes for the multi-channel and 60GHz work
> as well as a few other fixes.
>
> The "iterate monitor interfaces patch" is new over the previous version
> of the pull request.
>
> Thanks,
> Johannes
>
> The following changes since commit 4d6d0ae2a088e1e054ef6d96ceb1b41523291e71:
>
> mac80211_hwsim: add testmode code to stop/wake queues (2012-07-06 15:27:15 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Hmm. This doesn't call out the "for-john" branch for some reason? Not
sure why that happened.
johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-07-12 12:41 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-10 18:48 pull-request: mac80211-next 2012-07-10 Johannes Berg
2012-07-12 9:27 ` Johannes Berg
2012-07-12 9:56 ` Johannes Berg
2012-07-12 10:00 ` Johannes Berg
2012-07-12 10:08 ` Johannes Berg
2012-07-12 10:15 ` pull-request: mac80211-next 2012-07-12 Johannes Berg
2012-07-12 12:41 ` Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).