diff options
| author | Michael Hunold <devnull@localhost> | 2004-02-23 19:08:36 +0000 |
|---|---|---|
| committer | Michael Hunold <devnull@localhost> | 2004-02-23 19:08:36 +0000 |
| commit | eac35592452cdc3b7e6d9a0684d17c03fac94aba (patch) | |
| tree | 9a0c3472d69b0c88aa52d0d4a3bcc580002f8cb0 /linux/drivers | |
| parent | ab0450426593e64786e5cc21c4e711f59c851908 (diff) | |
| download | mediapointer-dvb-s2-eac35592452cdc3b7e6d9a0684d17c03fac94aba.tar.gz mediapointer-dvb-s2-eac35592452cdc3b7e6d9a0684d17c03fac94aba.tar.bz2 | |
viro@parcelfarce.linux.theplanet.co.uk: [netdrvr dvb/dvb_net] fixes
- Don't leave dvbnet->device[...] dangling after we free the sucker
Diffstat (limited to 'linux/drivers')
| -rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_net.c | 4 |
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; |
