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: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
     
     /* Unlink device structure, free pieces */
     *linkp = link->next;
-    if (link->priv) {
-       kfree(link->priv);
-    }
+    kfree(link->priv);
     kfree(link);
-    
 } /* avmcs_detach */
 
 /*======================================================================
 
 {
        modehdlc(bcs, 0, 0);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.hdlc.rcvbuf) {
-                       kfree(bcs->hw.hdlc.rcvbuf);
-                       bcs->hw.hdlc.rcvbuf = NULL;
-               }
-               if (bcs->blog) {
-                       kfree(bcs->blog);
-                       bcs->blog = NULL;
-               }
+               kfree(bcs->hw.hdlc.rcvbuf);
+               bcs->hw.hdlc.rcvbuf = NULL;
+               kfree(bcs->blog);
+               bcs->blog = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 
     
     /* Unlink device structure, free pieces */
     *linkp = link->next;
-    if (link->priv) {
-       kfree(link->priv);
-    }
+    kfree(link->priv);
     kfree(link);
     
 } /* avma1cs_detach */
 
        ic.command = ISDN_STAT_UNLOAD;
        ic.driver = cs->myid;
        cs->iif.statcallb(&ic);
-       if (cs->status_buf)
-               kfree(cs->status_buf);
+       kfree(cs->status_buf);
        cs->status_read = NULL;
        cs->status_write = NULL;
        cs->status_end = NULL;
 
        skb_queue_purge(&csta->rq);
        skb_queue_purge(&csta->sq);
-       if (csta->rcvbuf) {
-               kfree(csta->rcvbuf);
-               csta->rcvbuf = NULL;
-       }
+       kfree(csta->rcvbuf);
+       csta->rcvbuf = NULL;
        if (csta->tx_skb) {
                dev_kfree_skb(csta->tx_skb);
                csta->tx_skb = NULL;
 
 void
 release2bds0(struct IsdnCardState *cs)
 {
-       if (cs->bcs[0].hw.hfc.send) {
-               kfree(cs->bcs[0].hw.hfc.send);
-               cs->bcs[0].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;
-       }
-       if (cs->hw.hfcD.send) {
-               kfree(cs->hw.hfcD.send);
-               cs->hw.hfcD.send = NULL;
-       }
+       kfree(cs->bcs[0].hw.hfc.send);
+       cs->bcs[0].hw.hfc.send = NULL;
+       kfree(cs->bcs[1].hw.hfc.send);
+       cs->bcs[1].hw.hfc.send = NULL;
+       kfree(cs->hw.hfcD.send);
+       cs->hw.hfcD.send = NULL;
 }
 
 void
 
 void
 releasehfc(struct IsdnCardState *cs)
 {
-       if (cs->bcs[0].hw.hfc.send) {
-               kfree(cs->bcs[0].hw.hfc.send);
-               cs->bcs[0].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;
-       }
+       kfree(cs->bcs[0].hw.hfc.send);
+       cs->bcs[0].hw.hfc.send = NULL;
+       kfree(cs->bcs[1].hw.hfc.send);
+       cs->bcs[1].hw.hfc.send = NULL;
 }
 
 {
        modehscx(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.hscx.rcvbuf) {
-                       kfree(bcs->hw.hscx.rcvbuf);
-                       bcs->hw.hscx.rcvbuf = NULL;
-               }
-               if (bcs->blog) {
-                       kfree(bcs->blog);
-                       bcs->blog = NULL;
-               }
+               kfree(bcs->hw.hscx.rcvbuf);
+               bcs->hw.hscx.rcvbuf = NULL;
+               kfree(bcs->blog);
+               bcs->blog = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 
 
 static void
 DC_Close_icc(struct IsdnCardState *cs) {
-       if (cs->dc.icc.mon_rx) {
-               kfree(cs->dc.icc.mon_rx);
-               cs->dc.icc.mon_rx = NULL;
-       }
-       if (cs->dc.icc.mon_tx) {
-               kfree(cs->dc.icc.mon_tx);
-               cs->dc.icc.mon_tx = NULL;
-       }
+       kfree(cs->dc.icc.mon_rx);
+       cs->dc.icc.mon_rx = NULL;
+       kfree(cs->dc.icc.mon_tx);
+       cs->dc.icc.mon_tx = NULL;
 }
 
 static void
 
 {
        bch_mode(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.hscx.rcvbuf) {
-                       kfree(bcs->hw.hscx.rcvbuf);
-                       bcs->hw.hscx.rcvbuf = NULL;
-               }
-               if (bcs->blog) {
-                       kfree(bcs->blog);
-                       bcs->blog = NULL;
-               }
+               kfree(bcs->hw.hscx.rcvbuf);
+               bcs->hw.hscx.rcvbuf = NULL;
+               kfree(bcs->blog);
+               bcs->blog = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 
 }
 
 static void
-DC_Close_isac(struct IsdnCardState *cs) {
-       if (cs->dc.isac.mon_rx) {
-               kfree(cs->dc.isac.mon_rx);
-               cs->dc.isac.mon_rx = NULL;
-       }
-       if (cs->dc.isac.mon_tx) {
-               kfree(cs->dc.isac.mon_tx);
-               cs->dc.isac.mon_tx = NULL;
-       }
+DC_Close_isac(struct IsdnCardState *cs)
+{
+       kfree(cs->dc.isac.mon_rx);
+       cs->dc.isac.mon_rx = NULL;
+       kfree(cs->dc.isac.mon_tx);
+       cs->dc.isac.mon_tx = NULL;
 }
 
 static void
 
 {
        modeisar(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.isar.rcvbuf) {
-                       kfree(bcs->hw.isar.rcvbuf);
-                       bcs->hw.isar.rcvbuf = NULL;
-               }
+               kfree(bcs->hw.isar.rcvbuf);
+               bcs->hw.isar.rcvbuf = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 
 {
     modejade(bcs, 0, bcs->channel);
     if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-       if (bcs->hw.hscx.rcvbuf) {
-               kfree(bcs->hw.hscx.rcvbuf);
-               bcs->hw.hscx.rcvbuf = NULL;
-       }
-       if (bcs->blog) {
-               kfree(bcs->blog);
-               bcs->blog = NULL;
-       }
+       kfree(bcs->hw.hscx.rcvbuf);
+       bcs->hw.hscx.rcvbuf = NULL;
+       kfree(bcs->blog);
+       bcs->blog = NULL;
        skb_queue_purge(&bcs->rqueue);
        skb_queue_purge(&bcs->squeue);
        if (bcs->tx_skb) {
 
 {
        mode_tiger(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.tiger.rcvbuf) {
-                       kfree(bcs->hw.tiger.rcvbuf);
-                       bcs->hw.tiger.rcvbuf = NULL;
-               }
-               if (bcs->hw.tiger.sendbuf) {
-                       kfree(bcs->hw.tiger.sendbuf);
-                       bcs->hw.tiger.sendbuf = NULL;
-               }
+               kfree(bcs->hw.tiger.rcvbuf);
+               bcs->hw.tiger.rcvbuf = NULL;
+               kfree(bcs->hw.tiger.sendbuf);
+               bcs->hw.tiger.sendbuf = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 static void
 releasetiger(struct IsdnCardState *cs)
 {
-       if (cs->bcs[0].hw.tiger.send) {
-               kfree(cs->bcs[0].hw.tiger.send);
-               cs->bcs[0].hw.tiger.send = NULL;
-       }
-       if (cs->bcs[1].hw.tiger.send) {
-               cs->bcs[1].hw.tiger.send = 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;
-       }
+       kfree(cs->bcs[0].hw.tiger.send);
+       cs->bcs[0].hw.tiger.send = NULL;
+       cs->bcs[1].hw.tiger.send = NULL;
+       kfree(cs->bcs[0].hw.tiger.rec);
+       cs->bcs[0].hw.tiger.rec = NULL;
+       cs->bcs[1].hw.tiger.rec = NULL;
 }
 
 void
 
 
        // Stop and free Control and Interrupt URBs
        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);
        ctrl->urb = NULL;
 
        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);
        ctrl->urb = NULL;
 }
  err:
        for (j = 0; j < 2; j++) {
                if (urb[j]) {
-                       if (urb[j]->transfer_buffer)
-                               kfree(urb[j]->transfer_buffer);
+                       kfree(urb[j]->transfer_buffer);
                        urb[j]->transfer_buffer = NULL;
                        usb_free_urb(urb[j]);
                        urb[j] = NULL;
 
        for (j = 0; j < 2; 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]);
                urb[j] = NULL;
        }
 
 {
        W6692Bmode(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.w6692.rcvbuf) {
-                       kfree(bcs->hw.w6692.rcvbuf);
-                       bcs->hw.w6692.rcvbuf = NULL;
-               }
-               if (bcs->blog) {
-                       kfree(bcs->blog);
-                       bcs->blog = NULL;
-               }
+               kfree(bcs->hw.w6692.rcvbuf);
+               bcs->hw.w6692.rcvbuf = NULL;
+               kfree(bcs->blog);
+               bcs->blog = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
 
        } else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) {
                /* read access -> output card info data */
 
-               if (filep->private_data)
-                       kfree(filep->private_data);     /* release memory */
+               kfree(filep->private_data);     /* release memory */
        }
        unlock_kernel();
        return (retval);
 
                isdn_net_hangup(&p->dev);
        }
        for (i = 0; i < NUM_RCV_BUFFS; i++) {
-               if (is->rq[i].buf) {
-                       kfree(is->rq[i].buf);
-                       is->rq[i].buf = NULL;
-               }
+               kfree(is->rq[i].buf);
+               is->rq[i].buf = NULL;
        }
        is->first = is->rq + NUM_RCV_BUFFS - 1; /* receive queue */
        is->last = is->rq;
        is->slcomp = NULL;
 #endif
 #ifdef CONFIG_IPPP_FILTER
-       if (is->pass_filter) {
-               kfree(is->pass_filter);
-               is->pass_filter = NULL;
-       }
-       if (is->active_filter) {
-               kfree(is->active_filter);
-               is->active_filter = NULL;
-       }
+       kfree(is->pass_filter);
+       is->pass_filter = NULL;
+       kfree(is->active_filter);
+       is->active_filter = NULL;
 #endif
 
 /* TODO: if this was the previous master: link the stuff to the new master */
                kfree(ippp_table[i]);
 
 #ifdef CONFIG_ISDN_MPP
-       if (isdn_ppp_bundle_arr)
-               kfree(isdn_ppp_bundle_arr);
+       kfree(isdn_ppp_bundle_arr);
 #endif /* CONFIG_ISDN_MPP */
 
 }
 
 #endif
        info->emu.vpar[4] = 0;
        info->emu.vpar[5] = 8;
-       if (info->dtmf_state) {
-               kfree(info->dtmf_state);
-               info->dtmf_state = NULL;
-       }
-       if (info->silence_state) {
-               kfree(info->silence_state);
-               info->silence_state = NULL;
-       }
-       if (info->adpcms) {
-               kfree(info->adpcms);
-               info->adpcms = NULL;
-       }
-       if (info->adpcmr) {
-               kfree(info->adpcmr);
-               info->adpcmr = NULL;
-       }
+       kfree(info->dtmf_state);
+       info->dtmf_state = NULL;
+       kfree(info->silence_state);
+       info->silence_state = NULL;
+       kfree(info->adpcms);
+       info->adpcms = NULL;
+       kfree(info->adpcmr);
+       info->adpcmr = NULL;
 #endif
        if ((info->msr & UART_MSR_RI) &&
                (info->emu.mdmreg[REG_RUNG] & BIT_RUNG))
 
                else
                        pcbit_fsm_event(dev, chan, EV_USR_RELEASE_REQ, NULL);
 
-               if (cbdata.data.setup.CalledPN)
-                       kfree(cbdata.data.setup.CalledPN);
-               if (cbdata.data.setup.CallingPN)
-                       kfree(cbdata.data.setup.CallingPN);
+               kfree(cbdata.data.setup.CalledPN);
+               kfree(cbdata.data.setup.CallingPN);
                break;
     
        case MSG_CONN_CONF: