aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/rfkill.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2008-01-18 14:40:47 -0500
committerJeff Garzik <jeff@garzik.org>2008-01-18 14:40:47 -0500
commit9559cc239d6cf50bf64de0bd7662103238e84274 (patch)
tree53becf36c23e2dc9931c3363f71ec0a81d131b79 /drivers/net/wireless/b43/rfkill.c
parente236ed23f81430dc020304e2efbc0cfcdf47d9a7 (diff)
parentd101f6496d51cbeb285f531dff059ce0ef28ffe3 (diff)
Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
Diffstat (limited to 'drivers/net/wireless/b43/rfkill.c')
-rw-r--r--drivers/net/wireless/b43/rfkill.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/b43/rfkill.c b/drivers/net/wireless/b43/rfkill.c
index 98cf70c5fd47..11f53cb1139e 100644
--- a/drivers/net/wireless/b43/rfkill.c
+++ b/drivers/net/wireless/b43/rfkill.c
@@ -138,8 +138,11 @@ void b43_rfkill_init(struct b43_wldev *dev)
138 rfk->rfkill->user_claim_unsupported = 1; 138 rfk->rfkill->user_claim_unsupported = 1;
139 139
140 rfk->poll_dev = input_allocate_polled_device(); 140 rfk->poll_dev = input_allocate_polled_device();
141 if (!rfk->poll_dev) 141 if (!rfk->poll_dev) {
142 goto err_free_rfk; 142 rfkill_free(rfk->rfkill);
143 goto err_freed_rfk;
144 }
145
143 rfk->poll_dev->private = dev; 146 rfk->poll_dev->private = dev;
144 rfk->poll_dev->poll = b43_rfkill_poll; 147 rfk->poll_dev->poll = b43_rfkill_poll;
145 rfk->poll_dev->poll_interval = 1000; /* msecs */ 148 rfk->poll_dev->poll_interval = 1000; /* msecs */
@@ -175,8 +178,7 @@ err_unreg_rfk:
175err_free_polldev: 178err_free_polldev:
176 input_free_polled_device(rfk->poll_dev); 179 input_free_polled_device(rfk->poll_dev);
177 rfk->poll_dev = NULL; 180 rfk->poll_dev = NULL;
178err_free_rfk: 181err_freed_rfk:
179 rfkill_free(rfk->rfkill);
180 rfk->rfkill = NULL; 182 rfk->rfkill = NULL;
181out_error: 183out_error:
182 rfk->registered = 0; 184 rfk->registered = 0;
@@ -195,6 +197,5 @@ void b43_rfkill_exit(struct b43_wldev *dev)
195 rfkill_unregister(rfk->rfkill); 197 rfkill_unregister(rfk->rfkill);
196 input_free_polled_device(rfk->poll_dev); 198 input_free_polled_device(rfk->poll_dev);
197 rfk->poll_dev = NULL; 199 rfk->poll_dev = NULL;
198 rfkill_free(rfk->rfkill);
199 rfk->rfkill = NULL; 200 rfk->rfkill = NULL;
200} 201}