aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-core/dvbdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/dvb-core/dvbdev.c')
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.c9
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
289int dvb_register_adapter(struct dvb_adapter **padap, const char *name, struct module *module) 289int 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}
337EXPORT_SYMBOL(dvb_unregister_adapter); 330EXPORT_SYMBOL(dvb_unregister_adapter);