aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/mISDN/hfcmulti.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/hardware/mISDN/hfcmulti.c')
-rw-r--r--drivers/isdn/hardware/mISDN/hfcmulti.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c
index 3d4b36d2a31a..db9b04519829 100644
--- a/drivers/isdn/hardware/mISDN/hfcmulti.c
+++ b/drivers/isdn/hardware/mISDN/hfcmulti.c
@@ -3576,7 +3576,7 @@ channel_bctrl(struct bchannel *bch, struct mISDN_ctrl_req *cq)
3576 case MISDN_CTRL_GETOP: 3576 case MISDN_CTRL_GETOP:
3577 ret = mISDN_ctrl_bchannel(bch, cq); 3577 ret = mISDN_ctrl_bchannel(bch, cq);
3578 cq->op |= MISDN_CTRL_HFC_OP | MISDN_CTRL_HW_FEATURES_OP | 3578 cq->op |= MISDN_CTRL_HFC_OP | MISDN_CTRL_HW_FEATURES_OP |
3579 MISDN_CTRL_RX_OFF | MISDN_CTRL_FILL_EMPTY; 3579 MISDN_CTRL_RX_OFF;
3580 break; 3580 break;
3581 case MISDN_CTRL_RX_OFF: /* turn off / on rx stream */ 3581 case MISDN_CTRL_RX_OFF: /* turn off / on rx stream */
3582 hc->chan[bch->slot].rx_off = !!cq->p1; 3582 hc->chan[bch->slot].rx_off = !!cq->p1;
@@ -3591,11 +3591,10 @@ channel_bctrl(struct bchannel *bch, struct mISDN_ctrl_req *cq)
3591 printk(KERN_DEBUG "%s: RX_OFF request (nr=%d off=%d)\n", 3591 printk(KERN_DEBUG "%s: RX_OFF request (nr=%d off=%d)\n",
3592 __func__, bch->nr, hc->chan[bch->slot].rx_off); 3592 __func__, bch->nr, hc->chan[bch->slot].rx_off);
3593 break; 3593 break;
3594 case MISDN_CTRL_FILL_EMPTY: /* fill fifo, if empty */ 3594 case MISDN_CTRL_FILL_EMPTY:
3595 test_and_set_bit(FLG_FILLEMPTY, &bch->Flags); 3595 ret = mISDN_ctrl_bchannel(bch, cq);
3596 if (debug & DEBUG_HFCMULTI_MSG) 3596 hc->silence = bch->fill[0];
3597 printk(KERN_DEBUG "%s: FILL_EMPTY request (nr=%d " 3597 memset(hc->silence_data, hc->silence, sizeof(hc->silence_data));
3598 "off=%d)\n", __func__, bch->nr, !!cq->p1);
3599 break; 3598 break;
3600 case MISDN_CTRL_HW_FEATURES: /* fill features structure */ 3599 case MISDN_CTRL_HW_FEATURES: /* fill features structure */
3601 if (debug & DEBUG_HFCMULTI_MSG) 3600 if (debug & DEBUG_HFCMULTI_MSG)
@@ -4118,7 +4117,6 @@ open_bchannel(struct hfc_multi *hc, struct dchannel *dch,
4118 } 4117 }
4119 if (test_and_set_bit(FLG_OPEN, &bch->Flags)) 4118 if (test_and_set_bit(FLG_OPEN, &bch->Flags))
4120 return -EBUSY; /* b-channel can be only open once */ 4119 return -EBUSY; /* b-channel can be only open once */
4121 test_and_clear_bit(FLG_FILLEMPTY, &bch->Flags);
4122 bch->ch.protocol = rq->protocol; 4120 bch->ch.protocol = rq->protocol;
4123 hc->chan[ch].rx_off = 0; 4121 hc->chan[ch].rx_off = 0;
4124 rq->ch = &bch->ch; 4122 rq->ch = &bch->ch;