]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: Use rhltable instead of rhashtable
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 19 Sep 2016 11:00:10 +0000 (19:00 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Sep 2016 08:43:36 +0000 (04:43 -0400)
commitae09567c4506eabd36c60fc9a4d9c67dbf826730
tree946fbe77a562eb44d6533660d206a6141406d664
parent4e629a1d07431e8f00b79191240753493849e8d2
mac80211: Use rhltable instead of rhashtable

mac80211 currently uses rhashtable with insecure_elasticity set
to true.  The latter is because of duplicate objects.  What's
more, mac80211 walks the rhashtable chains by hand which is broken
as rhashtable may contain multiple tables due to resizing or
rehashing.

This patch fixes it by converting it to the newly added rhltable
interface which is designed for use with duplicate objects.

With rhltable a lookup returns a list of objects instead of a
single one.  This is then fed into the existing for_each_sta_info
macro.

This patch also deletes the sta_addr_hash function since rhashtable
defaults to jhash.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mac80211/ieee80211_i.h
net/mac80211/rx.c
net/mac80211/sta_info.c
net/mac80211/sta_info.h
net/mac80211/status.c