mISDN: Fix HDLC DSP transmit
Fix HDLC DSP transmit (DL_DATA frames were bounced back upwards instead of being sent down as PH_DATA frames) Thanks to Andreas Eversberg for the fix! Signed-off-by: Andreas Eversberg <andreas@eversberg.eu> Signed-off-by: Peter Schlaile <root@asterisk.schlaile.de> Signed-off-by: Karsten Keil <kkeil@suse.de>
This commit is contained in:
committed by
Karsten Keil
parent
837468d135
commit
e4cce225f0
@@ -867,11 +867,14 @@ dsp_function(struct mISDNchannel *ch, struct sk_buff *skb)
|
|||||||
}
|
}
|
||||||
if (dsp->hdlc) {
|
if (dsp->hdlc) {
|
||||||
/* hdlc */
|
/* hdlc */
|
||||||
spin_lock_irqsave(&dsp_lock, flags);
|
if (!dsp->b_active) {
|
||||||
if (dsp->b_active) {
|
ret = -EIO;
|
||||||
skb_queue_tail(&dsp->sendq, skb);
|
break;
|
||||||
schedule_work(&dsp->workq);
|
|
||||||
}
|
}
|
||||||
|
hh->prim = PH_DATA_REQ;
|
||||||
|
spin_lock_irqsave(&dsp_lock, flags);
|
||||||
|
skb_queue_tail(&dsp->sendq, skb);
|
||||||
|
schedule_work(&dsp->workq);
|
||||||
spin_unlock_irqrestore(&dsp_lock, flags);
|
spin_unlock_irqrestore(&dsp_lock, flags);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user