Commit cc0f4b0d authored by Kai Germaschewski's avatar Kai Germaschewski

ISDN/HiSax: Move more code into the shared xmit_xpr_d()

Another bit of D-channel busy handling can move as well.
parent 18c91913
......@@ -255,10 +255,6 @@ icc_interrupt(struct IsdnCardState *cs, u_char val)
printk(KERN_WARNING "HiSax: ICC XMR\n");
}
if (exval & 0x40) { /* XDU */
if (test_and_clear_bit(FLG_DBUSY_TIMER, &cs->HW_Flags))
del_timer(&cs->dbusytimer);
if (test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags))
sched_d_event(cs, D_CLEARBUSY);
xmit_xdu_d(cs, NULL);
}
if (exval & 0x04) { /* MOS */
......
......@@ -249,10 +249,6 @@ isac_interrupt(struct IsdnCardState *cs, u_char val)
printk(KERN_WARNING "HiSax: ISAC XMR\n");
}
if (exval & 0x40) { /* XDU */
if (test_and_clear_bit(FLG_DBUSY_TIMER, &cs->HW_Flags))
del_timer(&cs->dbusytimer);
if (test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags))
sched_d_event(cs, D_CLEARBUSY);
xmit_xdu_d(cs, NULL);
}
if (exval & 0x04) { /* MOS */
......
......@@ -251,6 +251,11 @@ xmit_xdu_d(struct IsdnCardState *cs, void (*reset_xmit)(struct IsdnCardState *cs
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "D XDU");
if (test_and_clear_bit(FLG_DBUSY_TIMER, &cs->HW_Flags))
del_timer(&cs->dbusytimer);
if (test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags))
sched_d_event(cs, D_CLEARBUSY);
xmit_restart_d(cs);
if (reset_xmit)
reset_xmit(cs);
......
......@@ -366,10 +366,6 @@ W6692_interrupt(int intno, void *dev_id, struct pt_regs *regs)
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "W6692 D_EXIR %02x", exval);
if (exval & (W_D_EXI_XDUN | W_D_EXI_XCOL)) { /* Transmit underrun/collision */
if (test_and_clear_bit(FLG_DBUSY_TIMER, &cs->HW_Flags))
del_timer(&cs->dbusytimer);
if (test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags))
sched_d_event(cs, D_CLEARBUSY);
xmit_xdu_d(cs, NULL);
}
if (exval & W_D_EXI_RDOV) { /* RDOV */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment