diff options
Diffstat (limited to 'sys/i386/isa/if_cx.c')
-rw-r--r-- | sys/i386/isa/if_cx.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/i386/isa/if_cx.c b/sys/i386/isa/if_cx.c index d57480b..c7dd4e4 100644 --- a/sys/i386/isa/if_cx.c +++ b/sys/i386/isa/if_cx.c @@ -224,6 +224,7 @@ cxattach (struct isa_device *id) int drq = id->id_drq; cx_board_t *b = cxboard + unit; int i; + struct sppp *sp; /* Initialize the board structure. */ cx_init (b, unit, iobase, ffs(irq)-1, drq); @@ -276,6 +277,13 @@ cxattach (struct isa_device *id) /* Init routine is never called by upper level? */ sppp_attach (c->ifp); if_attach (c->ifp); + /* + * Shortcut the sppp tls/tlf actions to up/down + * events since our lower layer is always ready. + */ + sp = (struct sppp*) c->ifp; + sp->pp_tls = sp->pp_up; + sp->pp_tlf = sp->pp_down; #if NBPFILTER > 0 /* If BPF is in the kernel, call the attach for it. */ bpfattach (c->ifp, DLT_PPP, PPP_HEADER_LEN); |