[PATCH] drivers:net:wireless: Add proper locking for the function, b43_op_beacon_set_tim in main.c
Rafał Miłecki <[email protected]>
| Newsgroups | org.infradead.lists.b43-dev,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CACna6rxP5dB7ng5pf1jeJL7TTOq4xPC9B=wmrX+yeYK-hfF5uw@mail.gmail.com> |
On 2 January 2015 at 10:27, Michael B?sch <[email protected]> wrote: > On Fri, 2 Jan 2015 02:34:01 -0500 > Nicholas Krause <[email protected]> wrote: > >> This adds proper locking for the function, b43_op_beacon_set_tim in main.c by using the mutex lock >> in the structure pointer wl, as embedded into this pointer as a mutex in order to protect against >> multiple access to the pointer wl when updating the templates for this pointer in the function, >> b43_update_templates internally in the function, b43_op_beacon_set_tim. >> >> Signed-off-by: Nicholas Krause <[email protected]> >> --- >> drivers/net/wireless/b43/main.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c >> index 47731cb..d568fc8 100644 >> --- a/drivers/net/wireless/b43/main.c >> +++ b/drivers/net/wireless/b43/main.c >> @@ -5094,8 +5094,9 @@ static int b43_op_beacon_set_tim(struct ieee80211_hw *hw, >> { >> struct b43_wl *wl = hw_to_b43_wl(hw); >> >> - /* FIXME: add locking */ >> + mutex_lock(&wl->mutex); >> b43_update_templates(wl); >> + mutex_unlock(&wl->mutex); >> >> return 0; >> } > > Thanks for the patch. > > However, this does not work. We are in atomic context here. > Please see the b43-dev mailing list archives for a recent thread about that. Michael: guess who it was who sent the patch doing the same back in November. Yes, the same troll. -- Rafa?