summaryrefslogtreecommitdiffstats
path: root/drivers/net/soundmodem/sm_sbc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/soundmodem/sm_sbc.c')
-rw-r--r--drivers/net/soundmodem/sm_sbc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/soundmodem/sm_sbc.c b/drivers/net/soundmodem/sm_sbc.c
index 2a2f874aa..fc26b57bf 100644
--- a/drivers/net/soundmodem/sm_sbc.c
+++ b/drivers/net/soundmodem/sm_sbc.c
@@ -339,6 +339,7 @@ static void sbc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
sti();
if (sm->dma.ptt_cnt <= 0) {
dma_receive(sm, curfrag);
+ hdlcdrv_arbitrate(dev, &sm->hdrv);
if (hdlcdrv_ptt(&sm->hdrv)) {
/* starting to transmit */
disable_dma(dev->dma);
@@ -352,10 +353,8 @@ static void sbc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
sti();
dma_init_receive(sm);
setup_dma_dsp(dev, sm, 0);
- } else {
+ } else
dma_transmit(sm);
- hdlcdrv_arbitrate(dev, &sm->hdrv);
- }
sm_output_status(sm);
hdlcdrv_transmitter(dev, &sm->hdrv);
hdlcdrv_receiver(dev, &sm->hdrv);