batman-adv: Remove unnecessary hardif_list_lock
authorSven Eckelmann <sven@narfation.org>
Tue, 3 May 2011 09:51:38 +0000 (11:51 +0200)
committerSven Eckelmann <sven@narfation.org>
Sun, 8 May 2011 14:10:41 +0000 (16:10 +0200)
commitc3caf5196c47a5d1c325308d8eb7f6b020ba12df
tree6c94a6272919cb238dea5e0d4a3c06f27e7bb3f3
parent61906ae86d8989e5bd3bc1f51b2fb8d32ffde2c5
batman-adv: Remove unnecessary hardif_list_lock

hardif_list_lock is unneccessary because we already ensure that no
multiple admin operations can take place through rtnl_lock.
hardif_list_lock only adds additional overhead and complexity.

Critical functions now check whether they are called with rtnl_lock
using ASSERT_RTNL.

It indirectly fixes the problem that orig_hash_del_if() expects that
only one interface is deleted from hardif_list at a time, but
hardif_remove_interfaces() removes all at once and then calls
orig_hash_del_if().

Reported-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/bat_sysfs.c
net/batman-adv/hard-interface.c
net/batman-adv/main.c
net/batman-adv/soft-interface.c