From: Jesper Juhl 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 Cc: Karsten Keil Signed-off-by: Andrew Morton --- drivers/isdn/hardware/avm/avm_cs.c | 5 +---- drivers/isdn/hisax/avm_pci.c | 12 ++++-------- drivers/isdn/hisax/avma1_cs.c | 4 +--- drivers/isdn/hisax/config.c | 9 +++------ drivers/isdn/hisax/hfc_2bds0.c | 18 ++++++------------ drivers/isdn/hisax/hfc_2bs0.c | 12 ++++-------- drivers/isdn/hisax/hscx.c | 12 ++++-------- drivers/isdn/hisax/icc.c | 12 ++++-------- drivers/isdn/hisax/ipacx.c | 12 ++++-------- drivers/isdn/hisax/isac.c | 15 ++++++--------- drivers/isdn/hisax/isar.c | 6 ++---- drivers/isdn/hisax/jade.c | 12 ++++-------- drivers/isdn/hisax/netjet.c | 32 ++++++++++---------------------- drivers/isdn/hisax/st5481_usb.c | 12 ++++-------- drivers/isdn/hisax/w6692.c | 12 ++++-------- drivers/isdn/hysdn/hysdn_procconf.c | 3 +-- drivers/isdn/i4l/isdn_ppp.c | 21 +++++++-------------- drivers/isdn/i4l/isdn_tty.c | 24 ++++++++---------------- drivers/isdn/pcbit/drv.c | 6 ++---- 19 files changed, 79 insertions(+), 160 deletions(-) diff -puN drivers/isdn/hardware/avm/avm_cs.c~kfree-cleanup-drivers-isdn drivers/isdn/hardware/avm/avm_cs.c --- devel/drivers/isdn/hardware/avm/avm_cs.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hardware/avm/avm_cs.c 2005-10-14 01:44:42.000000000 -0700 @@ -212,11 +212,8 @@ static void avmcs_detach(dev_link_t *lin /* Unlink device structure, free pieces */ *linkp = link->next; - if (link->priv) { - kfree(link->priv); - } + kfree(link->priv); kfree(link); - } /* avmcs_detach */ /*====================================================================== diff -puN drivers/isdn/hisax/avma1_cs.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/avma1_cs.c --- devel/drivers/isdn/hisax/avma1_cs.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/avma1_cs.c 2005-10-14 01:44:42.000000000 -0700 @@ -236,9 +236,7 @@ static void avma1cs_detach(dev_link_t *l /* Unlink device structure, free pieces */ *linkp = link->next; - if (link->priv) { - kfree(link->priv); - } + kfree(link->priv); kfree(link); } /* avma1cs_detach */ diff -puN drivers/isdn/hisax/avm_pci.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/avm_pci.c --- devel/drivers/isdn/hisax/avm_pci.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/avm_pci.c 2005-10-14 01:44:42.000000000 -0700 @@ -552,14 +552,10 @@ close_hdlcstate(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hisax/config.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/config.c --- devel/drivers/isdn/hisax/config.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/config.c 2005-10-14 01:44:42.000000000 -0700 @@ -787,8 +787,7 @@ static void ll_unload(struct IsdnCardSta 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; @@ -807,10 +806,8 @@ static void closecard(int cardnr) 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; diff -puN drivers/isdn/hisax/hfc_2bds0.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/hfc_2bds0.c --- devel/drivers/isdn/hisax/hfc_2bds0.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/hfc_2bds0.c 2005-10-14 01:44:42.000000000 -0700 @@ -1052,18 +1052,12 @@ init2bds0(struct IsdnCardState *cs) 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 diff -puN drivers/isdn/hisax/hfc_2bs0.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/hfc_2bs0.c --- devel/drivers/isdn/hisax/hfc_2bs0.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/hfc_2bs0.c 2005-10-14 01:44:42.000000000 -0700 @@ -582,12 +582,8 @@ inithfc(struct IsdnCardState *cs) 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; } diff -puN drivers/isdn/hisax/hscx.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/hscx.c --- devel/drivers/isdn/hisax/hscx.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/hscx.c 2005-10-14 01:44:42.000000000 -0700 @@ -156,14 +156,10 @@ close_hscxstate(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hisax/icc.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/icc.c --- devel/drivers/isdn/hisax/icc.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/icc.c 2005-10-14 01:44:42.000000000 -0700 @@ -571,14 +571,10 @@ setstack_icc(struct PStack *st, struct I 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 diff -puN drivers/isdn/hisax/ipacx.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/ipacx.c --- devel/drivers/isdn/hisax/ipacx.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/ipacx.c 2005-10-14 01:44:42.000000000 -0700 @@ -762,14 +762,10 @@ bch_close_state(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hisax/isac.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/isac.c --- devel/drivers/isdn/hisax/isac.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/isac.c 2005-10-14 01:44:42.000000000 -0700 @@ -570,15 +570,12 @@ setstack_isac(struct PStack *st, struct } 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 diff -puN drivers/isdn/hisax/isar.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/isar.c --- devel/drivers/isdn/hisax/isar.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/isar.c 2005-10-14 01:44:42.000000000 -0700 @@ -1688,10 +1688,8 @@ close_isarstate(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hisax/jade.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/jade.c --- devel/drivers/isdn/hisax/jade.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/jade.c 2005-10-14 01:44:42.000000000 -0700 @@ -195,14 +195,10 @@ close_jadestate(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hisax/netjet.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/netjet.c --- devel/drivers/isdn/hisax/netjet.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/netjet.c 2005-10-14 01:44:42.000000000 -0700 @@ -855,14 +855,10 @@ close_tigerstate(struct BCState *bcs) { 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) { @@ -967,20 +963,12 @@ inittiger(struct IsdnCardState *cs) 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 diff -puN drivers/isdn/hisax/st5481_usb.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/st5481_usb.c --- devel/drivers/isdn/hisax/st5481_usb.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/st5481_usb.c 2005-10-14 01:44:42.000000000 -0700 @@ -335,14 +335,12 @@ void st5481_release_usb(struct st5481_ad // 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; } @@ -457,8 +455,7 @@ st5481_setup_isocpipes(struct urb* urb[2 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; @@ -473,8 +470,7 @@ void st5481_release_isocpipes(struct urb 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; } diff -puN drivers/isdn/hisax/w6692.c~kfree-cleanup-drivers-isdn drivers/isdn/hisax/w6692.c --- devel/drivers/isdn/hisax/w6692.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hisax/w6692.c 2005-10-14 01:44:42.000000000 -0700 @@ -819,14 +819,10 @@ close_w6692state(struct BCState *bcs) { 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) { diff -puN drivers/isdn/hysdn/hysdn_procconf.c~kfree-cleanup-drivers-isdn drivers/isdn/hysdn/hysdn_procconf.c --- devel/drivers/isdn/hysdn/hysdn_procconf.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/hysdn/hysdn_procconf.c 2005-10-14 01:44:42.000000000 -0700 @@ -359,8 +359,7 @@ hysdn_conf_close(struct inode *ino, stru } 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); diff -puN drivers/isdn/i4l/isdn_ppp.c~kfree-cleanup-drivers-isdn drivers/isdn/i4l/isdn_ppp.c --- devel/drivers/isdn/i4l/isdn_ppp.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/i4l/isdn_ppp.c 2005-10-14 01:44:42.000000000 -0700 @@ -364,10 +364,8 @@ isdn_ppp_release(int min, struct file *f 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; @@ -378,14 +376,10 @@ isdn_ppp_release(int min, struct file *f 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 */ @@ -914,8 +908,7 @@ isdn_ppp_cleanup(void) 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 */ } diff -puN drivers/isdn/i4l/isdn_tty.c~kfree-cleanup-drivers-isdn drivers/isdn/i4l/isdn_tty.c --- devel/drivers/isdn/i4l/isdn_tty.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/i4l/isdn_tty.c 2005-10-14 01:44:42.000000000 -0700 @@ -712,22 +712,14 @@ isdn_tty_modem_hup(modem_info * info, in #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)) diff -puN drivers/isdn/pcbit/drv.c~kfree-cleanup-drivers-isdn drivers/isdn/pcbit/drv.c --- devel/drivers/isdn/pcbit/drv.c~kfree-cleanup-drivers-isdn 2005-10-14 01:44:42.000000000 -0700 +++ devel-akpm/drivers/isdn/pcbit/drv.c 2005-10-14 01:44:42.000000000 -0700 @@ -561,10 +561,8 @@ void pcbit_l3_receive(struct pcbit_dev * 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: _