diff options
author | Michael Buesch <mb@bu3sch.de> | 2009-10-01 09:54:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-07 16:33:49 -0400 |
commit | 727c988593271599c9e5943699426afcce1a62d6 (patch) | |
tree | 8b3b565e1e4942ae5685f7ba4b97a8f2a2e54edf /drivers | |
parent | a4d63a943735efa30270ce70716d43323fd40f02 (diff) |
b43: Don't use struct wldev after detach.
Don't use struct wldev after detach. This fixes an oops on access.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/b43/leds.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/b43/leds.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/b43/main.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/b43/leds.c b/drivers/net/wireless/b43/leds.c index fbe3d4f62ce2..1e8dba488004 100644 --- a/drivers/net/wireless/b43/leds.c +++ b/drivers/net/wireless/b43/leds.c | |||
@@ -348,9 +348,9 @@ void b43_leds_register(struct b43_wldev *dev) | |||
348 | } | 348 | } |
349 | } | 349 | } |
350 | 350 | ||
351 | void b43_leds_unregister(struct b43_wldev *dev) | 351 | void b43_leds_unregister(struct b43_wl *wl) |
352 | { | 352 | { |
353 | struct b43_leds *leds = &dev->wl->leds; | 353 | struct b43_leds *leds = &wl->leds; |
354 | 354 | ||
355 | b43_unregister_led(&leds->led_tx); | 355 | b43_unregister_led(&leds->led_tx); |
356 | b43_unregister_led(&leds->led_rx); | 356 | b43_unregister_led(&leds->led_rx); |
diff --git a/drivers/net/wireless/b43/leds.h b/drivers/net/wireless/b43/leds.h index 9592e4c5a5f5..4c56187810fc 100644 --- a/drivers/net/wireless/b43/leds.h +++ b/drivers/net/wireless/b43/leds.h | |||
@@ -60,7 +60,7 @@ enum b43_led_behaviour { | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | void b43_leds_register(struct b43_wldev *dev); | 62 | void b43_leds_register(struct b43_wldev *dev); |
63 | void b43_leds_unregister(struct b43_wldev *dev); | 63 | void b43_leds_unregister(struct b43_wl *wl); |
64 | void b43_leds_init(struct b43_wldev *dev); | 64 | void b43_leds_init(struct b43_wldev *dev); |
65 | void b43_leds_exit(struct b43_wldev *dev); | 65 | void b43_leds_exit(struct b43_wldev *dev); |
66 | void b43_leds_stop(struct b43_wldev *dev); | 66 | void b43_leds_stop(struct b43_wldev *dev); |
@@ -76,7 +76,7 @@ struct b43_leds { | |||
76 | static inline void b43_leds_register(struct b43_wldev *dev) | 76 | static inline void b43_leds_register(struct b43_wldev *dev) |
77 | { | 77 | { |
78 | } | 78 | } |
79 | static inline void b43_leds_unregister(struct b43_wldev *dev) | 79 | static inline void b43_leds_unregister(struct b43_wl *wl) |
80 | { | 80 | { |
81 | } | 81 | } |
82 | static inline void b43_leds_init(struct b43_wldev *dev) | 82 | static inline void b43_leds_init(struct b43_wldev *dev) |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 9b907a36bb8c..130dcd5928b1 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -4997,7 +4997,7 @@ static void b43_remove(struct ssb_device *dev) | |||
4997 | 4997 | ||
4998 | if (list_empty(&wl->devlist)) { | 4998 | if (list_empty(&wl->devlist)) { |
4999 | b43_rng_exit(wl); | 4999 | b43_rng_exit(wl); |
5000 | b43_leds_unregister(wldev); | 5000 | b43_leds_unregister(wl); |
5001 | /* Last core on the chip unregistered. | 5001 | /* Last core on the chip unregistered. |
5002 | * We can destroy common struct b43_wl. | 5002 | * We can destroy common struct b43_wl. |
5003 | */ | 5003 | */ |