Two fixes:
* don't block netdev queues (indefinitely!) if mac80211
manages traffic queueing itself
* check wiphy registration before checking for ops
on resume, to avoid crash
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEExu3sM/nZ1eRSfR9Ha3t4Rpy0AB0FAljd8ykACgkQa3t4Rpy0
AB2T3g/+NuWjXWrIElOrbUjUbybobIbwAlQGQk73NYNORUwP1l3IljF+CmfI9jeF
Azvn+ddm6mYoRJZPQKR9r2U5KZCg363C4BqRr72M6lymq97CBJzjJJG+6WA6nrYS
PD1uBz1jpgoEKsbQ4skVGvLnrTLX45kj82kPNrY3JZP+i16wTcXEEmUN0gp/cEcv
DYuacMOjqmKsNqmGn58ms3rwx9oTpsJlkv33YueD2DEDKEPkqgqDppRAJptDANAA
YqY5ZanP46qfdKN35En3JjVaOpC7UPT+X078XGoL4u9QlNnznm6G3of65D7RGwhp
YswYcpsBkMv60kY938LZR8yHkMX1mzZn5NK3pzuB5N0+cg0dtdTLpK5hiyhuwLg9
EljLrCgNCQXneMCoLYBLnhh70+9OkVjMJeQxsN6OYZGCgHo6/bXeLAzxtJ9KLB8e
mUclQi+rxMuAiatEiKyLGhbBgge7a93OgAc9l6it2ODJKFDOnE36AR2VBlKPfjgy
aO3B9IAW/ojBh7nCFgESfRqts48oA5HANia1TRS8a0pLzPOB/CojDmXnwHKj5Baw
32xukZPKeiFw3K/jZJUkoRX9NmgwE1fdUqMzSIPCXqNt1MyrPOoLr0Dp/karO1Qt
TmIDq1eMWf0w2oNRHkRjDqay3Fr1dmVXjGOs2m8p/NAYPkigp/0=
=c49j
-----END PGP SIGNATURE-----
Merge tag 'mac80211-for-davem-2017-03-31' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
Johannes Berg says:
====================
Two fixes:
* don't block netdev queues (indefinitely!) if mac80211
manages traffic queueing itself
* check wiphy registration before checking for ops
on resume, to avoid crash
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
612307c6be
2 changed files with 6 additions and 7 deletions
|
|
@ -718,7 +718,8 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
|
|||
ieee80211_recalc_ps(local);
|
||||
|
||||
if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
|
||||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
|
||||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
||||
local->ops->wake_tx_queue) {
|
||||
/* XXX: for AP_VLAN, actually track AP queues */
|
||||
netif_tx_start_all_queues(dev);
|
||||
} else if (dev) {
|
||||
|
|
|
|||
|
|
@ -132,12 +132,10 @@ static int wiphy_resume(struct device *dev)
|
|||
/* Age scan results with time spent in suspend */
|
||||
cfg80211_bss_age(rdev, get_seconds() - rdev->suspend_at);
|
||||
|
||||
if (rdev->ops->resume) {
|
||||
rtnl_lock();
|
||||
if (rdev->wiphy.registered)
|
||||
ret = rdev_resume(rdev);
|
||||
rtnl_unlock();
|
||||
}
|
||||
rtnl_lock();
|
||||
if (rdev->wiphy.registered && rdev->ops->resume)
|
||||
ret = rdev_resume(rdev);
|
||||
rtnl_unlock();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue