diff options
Diffstat (limited to 'drivers/media/dvb/dvb-core/dvbdev.c')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvbdev.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c index cf4ffe38fda3..9d9662f4b8e6 100644 --- a/drivers/media/dvb/dvb-core/dvbdev.c +++ b/drivers/media/dvb/dvb-core/dvbdev.c | |||
@@ -286,9 +286,8 @@ skip: | |||
286 | } | 286 | } |
287 | 287 | ||
288 | 288 | ||
289 | int dvb_register_adapter(struct dvb_adapter **padap, const char *name, struct module *module) | 289 | int dvb_register_adapter(struct dvb_adapter *adap, const char *name, struct module *module) |
290 | { | 290 | { |
291 | struct dvb_adapter *adap; | ||
292 | int num; | 291 | int num; |
293 | 292 | ||
294 | if (down_interruptible (&dvbdev_register_lock)) | 293 | if (down_interruptible (&dvbdev_register_lock)) |
@@ -299,11 +298,6 @@ int dvb_register_adapter(struct dvb_adapter **padap, const char *name, struct mo | |||
299 | return -ENFILE; | 298 | return -ENFILE; |
300 | } | 299 | } |
301 | 300 | ||
302 | if (!(*padap = adap = kmalloc(sizeof(struct dvb_adapter), GFP_KERNEL))) { | ||
303 | up(&dvbdev_register_lock); | ||
304 | return -ENOMEM; | ||
305 | } | ||
306 | |||
307 | memset (adap, 0, sizeof(struct dvb_adapter)); | 301 | memset (adap, 0, sizeof(struct dvb_adapter)); |
308 | INIT_LIST_HEAD (&adap->device_list); | 302 | INIT_LIST_HEAD (&adap->device_list); |
309 | 303 | ||
@@ -331,7 +325,6 @@ int dvb_unregister_adapter(struct dvb_adapter *adap) | |||
331 | return -ERESTARTSYS; | 325 | return -ERESTARTSYS; |
332 | list_del (&adap->list_head); | 326 | list_del (&adap->list_head); |
333 | up (&dvbdev_register_lock); | 327 | up (&dvbdev_register_lock); |
334 | kfree (adap); | ||
335 | return 0; | 328 | return 0; |
336 | } | 329 | } |
337 | EXPORT_SYMBOL(dvb_unregister_adapter); | 330 | EXPORT_SYMBOL(dvb_unregister_adapter); |