Commit 3c7208f2 authored by Jesper Juhl's avatar Jesper Juhl Committed by Linus Torvalds

[PATCH] kfree cleanup: drivers/isdn

This is the drivers/isdn/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/isdn/.
Signed-off-by: default avatarJesper Juhl <jesper.juhl@gmail.com>
Acked-by: default avatarKarsten Keil <kkeil@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 735d5661
...@@ -212,11 +212,8 @@ static void avmcs_detach(dev_link_t *link) ...@@ -212,11 +212,8 @@ static void avmcs_detach(dev_link_t *link)
/* Unlink device structure, free pieces */ /* Unlink device structure, free pieces */
*linkp = link->next; *linkp = link->next;
if (link->priv) { kfree(link->priv);
kfree(link->priv);
}
kfree(link); kfree(link);
} /* avmcs_detach */ } /* avmcs_detach */
/*====================================================================== /*======================================================================
......
...@@ -552,14 +552,10 @@ close_hdlcstate(struct BCState *bcs) ...@@ -552,14 +552,10 @@ close_hdlcstate(struct BCState *bcs)
{ {
modehdlc(bcs, 0, 0); modehdlc(bcs, 0, 0);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.hdlc.rcvbuf) { kfree(bcs->hw.hdlc.rcvbuf);
kfree(bcs->hw.hdlc.rcvbuf); bcs->hw.hdlc.rcvbuf = NULL;
bcs->hw.hdlc.rcvbuf = NULL; kfree(bcs->blog);
} bcs->blog = NULL;
if (bcs->blog) {
kfree(bcs->blog);
bcs->blog = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -236,9 +236,7 @@ static void avma1cs_detach(dev_link_t *link) ...@@ -236,9 +236,7 @@ static void avma1cs_detach(dev_link_t *link)
/* Unlink device structure, free pieces */ /* Unlink device structure, free pieces */
*linkp = link->next; *linkp = link->next;
if (link->priv) { kfree(link->priv);
kfree(link->priv);
}
kfree(link); kfree(link);
} /* avma1cs_detach */ } /* avma1cs_detach */
......
...@@ -787,8 +787,7 @@ static void ll_unload(struct IsdnCardState *cs) ...@@ -787,8 +787,7 @@ static void ll_unload(struct IsdnCardState *cs)
ic.command = ISDN_STAT_UNLOAD; ic.command = ISDN_STAT_UNLOAD;
ic.driver = cs->myid; ic.driver = cs->myid;
cs->iif.statcallb(&ic); cs->iif.statcallb(&ic);
if (cs->status_buf) kfree(cs->status_buf);
kfree(cs->status_buf);
cs->status_read = NULL; cs->status_read = NULL;
cs->status_write = NULL; cs->status_write = NULL;
cs->status_end = NULL; cs->status_end = NULL;
...@@ -807,10 +806,8 @@ static void closecard(int cardnr) ...@@ -807,10 +806,8 @@ static void closecard(int cardnr)
skb_queue_purge(&csta->rq); skb_queue_purge(&csta->rq);
skb_queue_purge(&csta->sq); skb_queue_purge(&csta->sq);
if (csta->rcvbuf) { kfree(csta->rcvbuf);
kfree(csta->rcvbuf); csta->rcvbuf = NULL;
csta->rcvbuf = NULL;
}
if (csta->tx_skb) { if (csta->tx_skb) {
dev_kfree_skb(csta->tx_skb); dev_kfree_skb(csta->tx_skb);
csta->tx_skb = NULL; csta->tx_skb = NULL;
......
...@@ -1052,18 +1052,12 @@ init2bds0(struct IsdnCardState *cs) ...@@ -1052,18 +1052,12 @@ init2bds0(struct IsdnCardState *cs)
void void
release2bds0(struct IsdnCardState *cs) release2bds0(struct IsdnCardState *cs)
{ {
if (cs->bcs[0].hw.hfc.send) { kfree(cs->bcs[0].hw.hfc.send);
kfree(cs->bcs[0].hw.hfc.send); cs->bcs[0].hw.hfc.send = NULL;
cs->bcs[0].hw.hfc.send = NULL; kfree(cs->bcs[1].hw.hfc.send);
} cs->bcs[1].hw.hfc.send = NULL;
if (cs->bcs[1].hw.hfc.send) { kfree(cs->hw.hfcD.send);
kfree(cs->bcs[1].hw.hfc.send); cs->hw.hfcD.send = NULL;
cs->bcs[1].hw.hfc.send = NULL;
}
if (cs->hw.hfcD.send) {
kfree(cs->hw.hfcD.send);
cs->hw.hfcD.send = NULL;
}
} }
void void
......
...@@ -582,12 +582,8 @@ inithfc(struct IsdnCardState *cs) ...@@ -582,12 +582,8 @@ inithfc(struct IsdnCardState *cs)
void void
releasehfc(struct IsdnCardState *cs) releasehfc(struct IsdnCardState *cs)
{ {
if (cs->bcs[0].hw.hfc.send) { kfree(cs->bcs[0].hw.hfc.send);
kfree(cs->bcs[0].hw.hfc.send); cs->bcs[0].hw.hfc.send = NULL;
cs->bcs[0].hw.hfc.send = NULL; kfree(cs->bcs[1].hw.hfc.send);
} cs->bcs[1].hw.hfc.send = NULL;
if (cs->bcs[1].hw.hfc.send) {
kfree(cs->bcs[1].hw.hfc.send);
cs->bcs[1].hw.hfc.send = NULL;
}
} }
...@@ -156,14 +156,10 @@ close_hscxstate(struct BCState *bcs) ...@@ -156,14 +156,10 @@ close_hscxstate(struct BCState *bcs)
{ {
modehscx(bcs, 0, bcs->channel); modehscx(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.hscx.rcvbuf) { kfree(bcs->hw.hscx.rcvbuf);
kfree(bcs->hw.hscx.rcvbuf); bcs->hw.hscx.rcvbuf = NULL;
bcs->hw.hscx.rcvbuf = NULL; kfree(bcs->blog);
} bcs->blog = NULL;
if (bcs->blog) {
kfree(bcs->blog);
bcs->blog = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -571,14 +571,10 @@ setstack_icc(struct PStack *st, struct IsdnCardState *cs) ...@@ -571,14 +571,10 @@ setstack_icc(struct PStack *st, struct IsdnCardState *cs)
static void static void
DC_Close_icc(struct IsdnCardState *cs) { DC_Close_icc(struct IsdnCardState *cs) {
if (cs->dc.icc.mon_rx) { kfree(cs->dc.icc.mon_rx);
kfree(cs->dc.icc.mon_rx); cs->dc.icc.mon_rx = NULL;
cs->dc.icc.mon_rx = NULL; kfree(cs->dc.icc.mon_tx);
} cs->dc.icc.mon_tx = NULL;
if (cs->dc.icc.mon_tx) {
kfree(cs->dc.icc.mon_tx);
cs->dc.icc.mon_tx = NULL;
}
} }
static void static void
......
...@@ -762,14 +762,10 @@ bch_close_state(struct BCState *bcs) ...@@ -762,14 +762,10 @@ bch_close_state(struct BCState *bcs)
{ {
bch_mode(bcs, 0, bcs->channel); bch_mode(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.hscx.rcvbuf) { kfree(bcs->hw.hscx.rcvbuf);
kfree(bcs->hw.hscx.rcvbuf); bcs->hw.hscx.rcvbuf = NULL;
bcs->hw.hscx.rcvbuf = NULL; kfree(bcs->blog);
} bcs->blog = NULL;
if (bcs->blog) {
kfree(bcs->blog);
bcs->blog = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -570,15 +570,12 @@ setstack_isac(struct PStack *st, struct IsdnCardState *cs) ...@@ -570,15 +570,12 @@ setstack_isac(struct PStack *st, struct IsdnCardState *cs)
} }
static void static void
DC_Close_isac(struct IsdnCardState *cs) { DC_Close_isac(struct IsdnCardState *cs)
if (cs->dc.isac.mon_rx) { {
kfree(cs->dc.isac.mon_rx); kfree(cs->dc.isac.mon_rx);
cs->dc.isac.mon_rx = NULL; cs->dc.isac.mon_rx = NULL;
} kfree(cs->dc.isac.mon_tx);
if (cs->dc.isac.mon_tx) { cs->dc.isac.mon_tx = NULL;
kfree(cs->dc.isac.mon_tx);
cs->dc.isac.mon_tx = NULL;
}
} }
static void static void
......
...@@ -1688,10 +1688,8 @@ close_isarstate(struct BCState *bcs) ...@@ -1688,10 +1688,8 @@ close_isarstate(struct BCState *bcs)
{ {
modeisar(bcs, 0, bcs->channel); modeisar(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.isar.rcvbuf) { kfree(bcs->hw.isar.rcvbuf);
kfree(bcs->hw.isar.rcvbuf); bcs->hw.isar.rcvbuf = NULL;
bcs->hw.isar.rcvbuf = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -195,14 +195,10 @@ close_jadestate(struct BCState *bcs) ...@@ -195,14 +195,10 @@ close_jadestate(struct BCState *bcs)
{ {
modejade(bcs, 0, bcs->channel); modejade(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.hscx.rcvbuf) { kfree(bcs->hw.hscx.rcvbuf);
kfree(bcs->hw.hscx.rcvbuf); bcs->hw.hscx.rcvbuf = NULL;
bcs->hw.hscx.rcvbuf = NULL; kfree(bcs->blog);
} bcs->blog = NULL;
if (bcs->blog) {
kfree(bcs->blog);
bcs->blog = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -855,14 +855,10 @@ close_tigerstate(struct BCState *bcs) ...@@ -855,14 +855,10 @@ close_tigerstate(struct BCState *bcs)
{ {
mode_tiger(bcs, 0, bcs->channel); mode_tiger(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.tiger.rcvbuf) { kfree(bcs->hw.tiger.rcvbuf);
kfree(bcs->hw.tiger.rcvbuf); bcs->hw.tiger.rcvbuf = NULL;
bcs->hw.tiger.rcvbuf = NULL; kfree(bcs->hw.tiger.sendbuf);
} bcs->hw.tiger.sendbuf = NULL;
if (bcs->hw.tiger.sendbuf) {
kfree(bcs->hw.tiger.sendbuf);
bcs->hw.tiger.sendbuf = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
...@@ -967,20 +963,12 @@ inittiger(struct IsdnCardState *cs) ...@@ -967,20 +963,12 @@ inittiger(struct IsdnCardState *cs)
static void static void
releasetiger(struct IsdnCardState *cs) releasetiger(struct IsdnCardState *cs)
{ {
if (cs->bcs[0].hw.tiger.send) { kfree(cs->bcs[0].hw.tiger.send);
kfree(cs->bcs[0].hw.tiger.send); cs->bcs[0].hw.tiger.send = NULL;
cs->bcs[0].hw.tiger.send = NULL; cs->bcs[1].hw.tiger.send = NULL;
} kfree(cs->bcs[0].hw.tiger.rec);
if (cs->bcs[1].hw.tiger.send) { cs->bcs[0].hw.tiger.rec = NULL;
cs->bcs[1].hw.tiger.send = NULL; cs->bcs[1].hw.tiger.rec = NULL;
}
if (cs->bcs[0].hw.tiger.rec) {
kfree(cs->bcs[0].hw.tiger.rec);
cs->bcs[0].hw.tiger.rec = NULL;
}
if (cs->bcs[1].hw.tiger.rec) {
cs->bcs[1].hw.tiger.rec = NULL;
}
} }
void void
......
...@@ -335,14 +335,12 @@ void st5481_release_usb(struct st5481_adapter *adapter) ...@@ -335,14 +335,12 @@ void st5481_release_usb(struct st5481_adapter *adapter)
// Stop and free Control and Interrupt URBs // Stop and free Control and Interrupt URBs
usb_kill_urb(ctrl->urb); usb_kill_urb(ctrl->urb);
if (ctrl->urb->transfer_buffer) kfree(ctrl->urb->transfer_buffer);
kfree(ctrl->urb->transfer_buffer);
usb_free_urb(ctrl->urb); usb_free_urb(ctrl->urb);
ctrl->urb = NULL; ctrl->urb = NULL;
usb_kill_urb(intr->urb); usb_kill_urb(intr->urb);
if (intr->urb->transfer_buffer) kfree(intr->urb->transfer_buffer);
kfree(intr->urb->transfer_buffer);
usb_free_urb(intr->urb); usb_free_urb(intr->urb);
ctrl->urb = NULL; ctrl->urb = NULL;
} }
...@@ -457,8 +455,7 @@ st5481_setup_isocpipes(struct urb* urb[2], struct usb_device *dev, ...@@ -457,8 +455,7 @@ st5481_setup_isocpipes(struct urb* urb[2], struct usb_device *dev,
err: err:
for (j = 0; j < 2; j++) { for (j = 0; j < 2; j++) {
if (urb[j]) { if (urb[j]) {
if (urb[j]->transfer_buffer) kfree(urb[j]->transfer_buffer);
kfree(urb[j]->transfer_buffer);
urb[j]->transfer_buffer = NULL; urb[j]->transfer_buffer = NULL;
usb_free_urb(urb[j]); usb_free_urb(urb[j]);
urb[j] = NULL; urb[j] = NULL;
...@@ -473,8 +470,7 @@ void st5481_release_isocpipes(struct urb* urb[2]) ...@@ -473,8 +470,7 @@ void st5481_release_isocpipes(struct urb* urb[2])
for (j = 0; j < 2; j++) { for (j = 0; j < 2; j++) {
usb_kill_urb(urb[j]); usb_kill_urb(urb[j]);
if (urb[j]->transfer_buffer) kfree(urb[j]->transfer_buffer);
kfree(urb[j]->transfer_buffer);
usb_free_urb(urb[j]); usb_free_urb(urb[j]);
urb[j] = NULL; urb[j] = NULL;
} }
......
...@@ -819,14 +819,10 @@ close_w6692state(struct BCState *bcs) ...@@ -819,14 +819,10 @@ close_w6692state(struct BCState *bcs)
{ {
W6692Bmode(bcs, 0, bcs->channel); W6692Bmode(bcs, 0, bcs->channel);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) { if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
if (bcs->hw.w6692.rcvbuf) { kfree(bcs->hw.w6692.rcvbuf);
kfree(bcs->hw.w6692.rcvbuf); bcs->hw.w6692.rcvbuf = NULL;
bcs->hw.w6692.rcvbuf = NULL; kfree(bcs->blog);
} bcs->blog = NULL;
if (bcs->blog) {
kfree(bcs->blog);
bcs->blog = NULL;
}
skb_queue_purge(&bcs->rqueue); skb_queue_purge(&bcs->rqueue);
skb_queue_purge(&bcs->squeue); skb_queue_purge(&bcs->squeue);
if (bcs->tx_skb) { if (bcs->tx_skb) {
......
...@@ -359,8 +359,7 @@ hysdn_conf_close(struct inode *ino, struct file *filep) ...@@ -359,8 +359,7 @@ hysdn_conf_close(struct inode *ino, struct file *filep)
} else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) { } else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) {
/* read access -> output card info data */ /* read access -> output card info data */
if (filep->private_data) kfree(filep->private_data); /* release memory */
kfree(filep->private_data); /* release memory */
} }
unlock_kernel(); unlock_kernel();
return (retval); return (retval);
......
...@@ -364,10 +364,8 @@ isdn_ppp_release(int min, struct file *file) ...@@ -364,10 +364,8 @@ isdn_ppp_release(int min, struct file *file)
isdn_net_hangup(&p->dev); isdn_net_hangup(&p->dev);
} }
for (i = 0; i < NUM_RCV_BUFFS; i++) { for (i = 0; i < NUM_RCV_BUFFS; i++) {
if (is->rq[i].buf) { kfree(is->rq[i].buf);
kfree(is->rq[i].buf); is->rq[i].buf = NULL;
is->rq[i].buf = NULL;
}
} }
is->first = is->rq + NUM_RCV_BUFFS - 1; /* receive queue */ is->first = is->rq + NUM_RCV_BUFFS - 1; /* receive queue */
is->last = is->rq; is->last = is->rq;
...@@ -378,14 +376,10 @@ isdn_ppp_release(int min, struct file *file) ...@@ -378,14 +376,10 @@ isdn_ppp_release(int min, struct file *file)
is->slcomp = NULL; is->slcomp = NULL;
#endif #endif
#ifdef CONFIG_IPPP_FILTER #ifdef CONFIG_IPPP_FILTER
if (is->pass_filter) { kfree(is->pass_filter);
kfree(is->pass_filter); is->pass_filter = NULL;
is->pass_filter = NULL; kfree(is->active_filter);
} is->active_filter = NULL;
if (is->active_filter) {
kfree(is->active_filter);
is->active_filter = NULL;
}
#endif #endif
/* TODO: if this was the previous master: link the stuff to the new master */ /* TODO: if this was the previous master: link the stuff to the new master */
...@@ -914,8 +908,7 @@ isdn_ppp_cleanup(void) ...@@ -914,8 +908,7 @@ isdn_ppp_cleanup(void)
kfree(ippp_table[i]); kfree(ippp_table[i]);
#ifdef CONFIG_ISDN_MPP #ifdef CONFIG_ISDN_MPP
if (isdn_ppp_bundle_arr) kfree(isdn_ppp_bundle_arr);
kfree(isdn_ppp_bundle_arr);
#endif /* CONFIG_ISDN_MPP */ #endif /* CONFIG_ISDN_MPP */
} }
......
...@@ -712,22 +712,14 @@ isdn_tty_modem_hup(modem_info * info, int local) ...@@ -712,22 +712,14 @@ isdn_tty_modem_hup(modem_info * info, int local)
#endif #endif
info->emu.vpar[4] = 0; info->emu.vpar[4] = 0;
info->emu.vpar[5] = 8; info->emu.vpar[5] = 8;
if (info->dtmf_state) { kfree(info->dtmf_state);
kfree(info->dtmf_state); info->dtmf_state = NULL;
info->dtmf_state = NULL; kfree(info->silence_state);
} info->silence_state = NULL;
if (info->silence_state) { kfree(info->adpcms);
kfree(info->silence_state); info->adpcms = NULL;
info->silence_state = NULL; kfree(info->adpcmr);
} info->adpcmr = NULL;
if (info->adpcms) {
kfree(info->adpcms);
info->adpcms = NULL;
}
if (info->adpcmr) {
kfree(info->adpcmr);
info->adpcmr = NULL;
}
#endif #endif
if ((info->msr & UART_MSR_RI) && if ((info->msr & UART_MSR_RI) &&
(info->emu.mdmreg[REG_RUNG] & BIT_RUNG)) (info->emu.mdmreg[REG_RUNG] & BIT_RUNG))
......
...@@ -561,10 +561,8 @@ void pcbit_l3_receive(struct pcbit_dev * dev, ulong msg, ...@@ -561,10 +561,8 @@ void pcbit_l3_receive(struct pcbit_dev * dev, ulong msg,
else else
pcbit_fsm_event(dev, chan, EV_USR_RELEASE_REQ, NULL); pcbit_fsm_event(dev, chan, EV_USR_RELEASE_REQ, NULL);
if (cbdata.data.setup.CalledPN) kfree(cbdata.data.setup.CalledPN);
kfree(cbdata.data.setup.CalledPN); kfree(cbdata.data.setup.CallingPN);
if (cbdata.data.setup.CallingPN)
kfree(cbdata.data.setup.CallingPN);
break; break;
case MSG_CONN_CONF: case MSG_CONN_CONF:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment