diff options
Diffstat (limited to 'drivers/isdn/i4l')
-rw-r--r-- | drivers/isdn/i4l/isdn_ppp.c | 21 | ||||
-rw-r--r-- | drivers/isdn/i4l/isdn_tty.c | 24 |
2 files changed, 15 insertions, 30 deletions
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c index d97a9be5469c..1a19a0f89428 100644 --- a/drivers/isdn/i4l/isdn_ppp.c +++ b/drivers/isdn/i4l/isdn_ppp.c | |||
@@ -364,10 +364,8 @@ isdn_ppp_release(int min, struct file *file) | |||
364 | isdn_net_hangup(&p->dev); | 364 | isdn_net_hangup(&p->dev); |
365 | } | 365 | } |
366 | for (i = 0; i < NUM_RCV_BUFFS; i++) { | 366 | for (i = 0; i < NUM_RCV_BUFFS; i++) { |
367 | if (is->rq[i].buf) { | 367 | kfree(is->rq[i].buf); |
368 | kfree(is->rq[i].buf); | 368 | is->rq[i].buf = NULL; |
369 | is->rq[i].buf = NULL; | ||
370 | } | ||
371 | } | 369 | } |
372 | is->first = is->rq + NUM_RCV_BUFFS - 1; /* receive queue */ | 370 | is->first = is->rq + NUM_RCV_BUFFS - 1; /* receive queue */ |
373 | is->last = is->rq; | 371 | is->last = is->rq; |
@@ -378,14 +376,10 @@ isdn_ppp_release(int min, struct file *file) | |||
378 | is->slcomp = NULL; | 376 | is->slcomp = NULL; |
379 | #endif | 377 | #endif |
380 | #ifdef CONFIG_IPPP_FILTER | 378 | #ifdef CONFIG_IPPP_FILTER |
381 | if (is->pass_filter) { | 379 | kfree(is->pass_filter); |
382 | kfree(is->pass_filter); | 380 | is->pass_filter = NULL; |
383 | is->pass_filter = NULL; | 381 | kfree(is->active_filter); |
384 | } | 382 | is->active_filter = NULL; |
385 | if (is->active_filter) { | ||
386 | kfree(is->active_filter); | ||
387 | is->active_filter = NULL; | ||
388 | } | ||
389 | #endif | 383 | #endif |
390 | 384 | ||
391 | /* TODO: if this was the previous master: link the stuff to the new master */ | 385 | /* TODO: if this was the previous master: link the stuff to the new master */ |
@@ -914,8 +908,7 @@ isdn_ppp_cleanup(void) | |||
914 | kfree(ippp_table[i]); | 908 | kfree(ippp_table[i]); |
915 | 909 | ||
916 | #ifdef CONFIG_ISDN_MPP | 910 | #ifdef CONFIG_ISDN_MPP |
917 | if (isdn_ppp_bundle_arr) | 911 | kfree(isdn_ppp_bundle_arr); |
918 | kfree(isdn_ppp_bundle_arr); | ||
919 | #endif /* CONFIG_ISDN_MPP */ | 912 | #endif /* CONFIG_ISDN_MPP */ |
920 | 913 | ||
921 | } | 914 | } |
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index 356ee485be4b..8c404b4e2482 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c | |||
@@ -712,22 +712,14 @@ isdn_tty_modem_hup(modem_info * info, int local) | |||
712 | #endif | 712 | #endif |
713 | info->emu.vpar[4] = 0; | 713 | info->emu.vpar[4] = 0; |
714 | info->emu.vpar[5] = 8; | 714 | info->emu.vpar[5] = 8; |
715 | if (info->dtmf_state) { | 715 | kfree(info->dtmf_state); |
716 | kfree(info->dtmf_state); | 716 | info->dtmf_state = NULL; |
717 | info->dtmf_state = NULL; | 717 | kfree(info->silence_state); |
718 | } | 718 | info->silence_state = NULL; |
719 | if (info->silence_state) { | 719 | kfree(info->adpcms); |
720 | kfree(info->silence_state); | 720 | info->adpcms = NULL; |
721 | info->silence_state = NULL; | 721 | kfree(info->adpcmr); |
722 | } | 722 | info->adpcmr = NULL; |
723 | if (info->adpcms) { | ||
724 | kfree(info->adpcms); | ||
725 | info->adpcms = NULL; | ||
726 | } | ||
727 | if (info->adpcmr) { | ||
728 | kfree(info->adpcmr); | ||
729 | info->adpcmr = NULL; | ||
730 | } | ||
731 | #endif | 723 | #endif |
732 | if ((info->msr & UART_MSR_RI) && | 724 | if ((info->msr & UART_MSR_RI) && |
733 | (info->emu.mdmreg[REG_RUNG] & BIT_RUNG)) | 725 | (info->emu.mdmreg[REG_RUNG] & BIT_RUNG)) |