libertas: fix cmdpendingq locking
commit2b27c06fdd5727e0c2f319551ae1dd7c1e3450fc
authorPaul Fox <pgf@laptop.org>
Mon, 9 May 2011 09:40:42 +0000 (9 10:40 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 23 May 2011 18:22:59 +0000 (23 11:22 -0700)
treeaa479e9ffb9ada527da25707a15535b13eb4ef19
parentbd268b8734fef4e3fdb9bde42a35cebac8346e0b
libertas: fix cmdpendingq locking

commit 2ae1b8b35faba31a59b153cbad07f9c15de99740 upstream.

We occasionally see list corruption using libertas.

While we haven't been able to diagnose this precisely, we have spotted
a possible cause: cmdpendingq is generally modified with driver_lock
held. However, there are a couple of points where this is not the case.

Fix up those operations to execute under the lock, it seems like
the correct thing to do and will hopefully improve the situation.

Signed-off-by: Paul Fox <pgf@laptop.org>
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/libertas/cmd.c