batman-adv: Make TT capability changes atomic
authorLinus Lüssing <linus.luessing@c0d3.blue>
Tue, 16 Jun 2015 15:10:24 +0000 (17:10 +0200)
committerAntonio Quartulli <antonio@meshcoding.com>
Fri, 14 Aug 2015 20:50:43 +0000 (22:50 +0200)
commitac4eebd48461ec993e7cb614d5afe7df8c72e6b7
treea4730b7efd5982fb76a605f95da22ced4a096043
parent4635469f5c617282f18c69643af36cd8c0acf707
batman-adv: Make TT capability changes atomic

Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One
OGM handler might undo the set/clear of a specific bit from another
handler run in between.

Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions.

Fixes: e17931d1a61d ("batman-adv: introduce capability initialization bitfield")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/translation-table.c
net/batman-adv/types.h