diff --git a/drivers/isdn/hardware/mISDN/core.c b/drivers/isdn/hardware/mISDN/core.c index b751091..1c98ee6 100644 --- a/drivers/isdn/hardware/mISDN/core.c +++ b/drivers/isdn/hardware/mISDN/core.c @@ -85,7 +85,7 @@ mISDNd(void *data) #ifdef CONFIG_SMP unlock_kernel(); #endif - printk(KERN_DEBUG "mISDNd: kernel daemon started\n"); + printk(KERN_DEBUG "mISDNd: kernel daemon started (current:%x)\n",current); test_and_set_bit(mISDN_TFLAGS_STARTED, &hkt->Flags); @@ -143,7 +143,7 @@ mISDNd(void *data) printk(KERN_DEBUG "mISDNd: test event done\n"); } - printk(KERN_DEBUG "mISDNd: daemon exit now\n"); + printk(KERN_DEBUG "mISDNd: daemon exit now (current:%x)\n",current); test_and_clear_bit(mISDN_TFLAGS_STARTED, &hkt->Flags); test_and_clear_bit(mISDN_TFLAGS_ACTIV, &hkt->Flags); discard_queue(&hkt->workq); diff --git a/drivers/isdn/hardware/mISDN/dsp.h b/drivers/isdn/hardware/mISDN/dsp.h index 0a3ed9b..6762dd0 100644 --- a/drivers/isdn/hardware/mISDN/dsp.h +++ b/drivers/isdn/hardware/mISDN/dsp.h @@ -49,6 +49,13 @@ //#include "dsp_kb1ec.h" #include "dsp_mg2ec.h" + + +/* +* uncomment this one to cancel echo more aggressive +*/ +//#define AGGRESSIVE_SUPPRESSOR + extern int dsp_options; extern int dsp_debug; extern int dsp_poll; diff --git a/drivers/isdn/hardware/mISDN/hfc_multi.c b/drivers/isdn/hardware/mISDN/hfc_multi.c index 5915d7c..b33a16d 100644 --- a/drivers/isdn/hardware/mISDN/hfc_multi.c +++ b/drivers/isdn/hardware/mISDN/hfc_multi.c @@ -202,7 +202,7 @@ static const PCI_ENTRY id_list[] = {0x10B5, CCAG_VID, 0x9030, 0x3136, VENDOR_CCD, "HFC-4S PCIBridgeEval", 4, 0, 0}, // PLX PCI-Bridge {CCAG_VID, CCAG_VID, HFC4S_ID, 0xB566, VENDOR_CCD, - "HFC-2S Beronet Card", 2, 1, 2}, + "HFC-2S Beronet Card", 2, 1, 3}, {0, 0, 0, 0, NULL, NULL, 0, 0, 0}, }; @@ -660,6 +660,44 @@ hfcmulti_leds(hfc_multi_t *hc) ((led[0]&1)<<0) | ((led[1]&1)<<1) | ((led[2]&1)<<2) | ((led[3]&1)<<3)); break; + + case 3: + /* red blinking = PH_DEACTIVATE + red steady = PH_ACTIVATE + green flashing = fifo activity + */ + for(i=0;i<2;i++) { + state = 0; + active = -1; + dch = hc->chan[(i<<2)|2].ch; + if (dch && test_bit(FLG_DCHANNEL, &dch->Flags)) { + state = dch->state; + active = test_bit(HFC_CFG_NTMODE, &hc->chan[dch->channel].cfg)?3:7; + } + if (state) { + if (state==active) { + if (hc->activity[i]) { + led[i] = 1; /* led green */ + hc->activity[i] = 0; + } else + led[i] = 2; /* led red */ + } else if (hc->ledcount>>11) + led[i] = 2; /* led red */ + else + led[i] = 0; /* led off */ + } else + led[i] = 0; /* led off */ + } + + // printk("leds %d %d\n", led[0], led[1]); + //LEDME + + HFC_outb(hc, R_GPIO_EN1, + ((led[0]>0)<<0) | ((led[1]>0)<<1) ); + HFC_outb(hc, R_GPIO_OUT1, + ((led[0]&1)<<0) | ((led[1]&1)<<1) ); + + break; } } /**************************/ diff --git a/drivers/isdn/hardware/mISDN/stack.c b/drivers/isdn/hardware/mISDN/stack.c index e632bbd..d0221ca 100644 --- a/drivers/isdn/hardware/mISDN/stack.c +++ b/drivers/isdn/hardware/mISDN/stack.c @@ -478,8 +478,8 @@ mISDNStackd(void *data) #ifdef CONFIG_SMP unlock_kernel(); #endif - if ( core_debug & DEBUG_THREADS) - printk(KERN_DEBUG "mISDNStackd started for id(%08x)\n", st->id); +// if ( core_debug & DEBUG_THREADS) + printk(KERN_DEBUG "mISDNStackd started for id(%08x)\n", st->id); for (;;) { struct sk_buff *skb, *c_skb;