diff options
author | Miquel Raynal | 2023-11-28 12:16:55 +0100 |
---|---|---|
committer | Miquel Raynal | 2023-12-15 11:14:57 +0100 |
commit | 2373699560a754079579b7722b50d1d38de1960e (patch) | |
tree | 96f7a25ef1181e69e15f135587aa71440f0945f2 /net/ieee802154 | |
parent | b720383ab1cfd584c8c0d9fc7b8cc541ed76dba5 (diff) |
mac802154: Avoid new associations while disassociating
While disassociating from a PAN ourselves, let's set the maximum number
of associations temporarily to zero to be sure no new device tries to
associate with us.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/linux-wpan/20231128111655.507479-6-miquel.raynal@bootlin.com
Diffstat (limited to 'net/ieee802154')
-rw-r--r-- | net/ieee802154/pan.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/ieee802154/pan.c b/net/ieee802154/pan.c index fb5b0af2ef68..249df7364b3e 100644 --- a/net/ieee802154/pan.c +++ b/net/ieee802154/pan.c @@ -94,10 +94,16 @@ __le16 cfg802154_get_free_short_addr(struct wpan_dev *wpan_dev) } EXPORT_SYMBOL_GPL(cfg802154_get_free_short_addr); -void cfg802154_set_max_associations(struct wpan_dev *wpan_dev, unsigned int max) +unsigned int cfg802154_set_max_associations(struct wpan_dev *wpan_dev, + unsigned int max) { + unsigned int old_max; + lockdep_assert_held(&wpan_dev->association_lock); + old_max = wpan_dev->max_associations; wpan_dev->max_associations = max; + + return old_max; } EXPORT_SYMBOL_GPL(cfg802154_set_max_associations); |