summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_net.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_net.c b/linux/drivers/media/dvb/dvb-core/dvb_net.c
index 93bf8f699..2d4e65e91 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_net.c
@@ -582,7 +582,8 @@ static int dvb_net_add_if(struct dvb_net *dvbnet, u16 pid)
net->base_addr = pid;
if ((result = register_netdev(net)) < 0) {
- kfree(net);
+ dvbnet->device[if_num] = NULL;
+ free_netdev(net);
return result;
}
@@ -622,6 +623,7 @@ static int dvb_net_remove_if(struct dvb_net *dvbnet, int num)
flush_scheduled_work();
unregister_netdev(net);
dvbnet->state[num]=0;
+ dvbnet->device[num] = NULL;
free_netdev(net);
return 0;