libertas: allow removal of card at any time
authorHolger Schurig <hs4233@mail.mn-solutions.de>
Wed, 30 Apr 2008 08:51:15 +0000 (10:51 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 7 May 2008 19:02:27 +0000 (15:02 -0400)
commit652e3f208619dfe75867349d6164afe735eaf159
tree71ea986edf7f345b3bafbf7c0e61ab22a7b343e1
parenta63e5cb22fcc8590abc7d5050118a6d3589ed95f
libertas: allow removal of card at any time

This fixes several problems I had:

* when removing the card while the card was scanning or associtating,
  it could happen that destroy_workqueue() stuck and didn't return.
* make sure the command function doesn't run while we remove the list
  of pending commands
* for still unknown reason, I had calls to lbs_stop_card() with
  priv==NULL

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/main.c