]> git.baikalelectronics.ru Git - kernel.git/commit
cfg80211: do not process beacon hints if one is already queued
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Wed, 19 Dec 2012 18:53:02 +0000 (10:53 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 3 Jan 2013 12:01:37 +0000 (13:01 +0100)
commited419cfec9ed27b1569d1613842bcfd3205adbfe
tree7324fb5171326d8ce0af3eb22c2d50a9f5531573
parentb9600d27672d128a9659ef3b94adcb42bcf030aa
cfg80211: do not process beacon hints if one is already queued

Regulatory beacon hints are used to help with world roaming
and as it is right now we learn from a beacon hint processed
on one wiphy to all other wiphys. The processing of beacon
hints however is scheduled and if we have a lot of interfaces
we may hit the case that we'll queue a the same beacon hint
many times until its processed.

To avoid this do a lookup on the queued up beacon hints prior
to adding a new beacon hint. If the beacon hint is removed
from the pending reg beacon hint list then it would be processed
and we'd ensure all wiphys would have learned from it, if its
on the pending reg beacon list we'd now find it prior to it
being processed.

Tested-by: Ben Greear <greearb@candelatech.com>
Reported-by: Ben Greear <greearb@candelatech.com>
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/reg.c