From e1b0aaaa7646122022e6179a0b6406809f2126b8 Mon Sep 17 00:00:00 2001 From: gibbs Date: Sun, 21 Sep 1997 21:41:49 +0000 Subject: aha1542.c aic6360.c cy.c fd.c ft.c if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c: Update for changes in the callout interface. apic_vector.s icu_vector.s ipl.s ipl_funcs.c: Add CAM software/hardware interrupt support. --- sys/dev/wl/if_wl.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'sys/dev/wl') diff --git a/sys/dev/wl/if_wl.c b/sys/dev/wl/if_wl.c index d17de61..2073ef9 100644 --- a/sys/dev/wl/if_wl.c +++ b/sys/dev/wl/if_wl.c @@ -1,4 +1,4 @@ -/* $Id: if_wl.c,v 1.7 1997/08/02 05:19:32 msmith Exp $ */ +/* $Id: if_wl.c,v 1.8 1997/08/25 22:34:25 bde Exp $ */ /* * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -247,6 +247,7 @@ struct wl_softc{ short mode; u_char chan24; /* 2.4 Gz: channel number/EEPROM Area # */ u_short freq24; /* 2.4 Gz: resulting frequency */ + struct callout_handle watchdog_ch; #ifdef WLCACHE int w_sigitems; /* number of cached entries */ /* array of cache entries */ @@ -447,6 +448,7 @@ wlattach(struct isa_device *id) sc->flags = 0; sc->mode = 0; sc->hacr = HACR_RESET; + callout_handle_init(&sc->watchdog_ch); CMD(unit); /* reset the board */ DELAY(DELAYCONST); /* >> 4 clocks at 6MHz */ @@ -696,7 +698,7 @@ wlinit(void *xsc) sc->flags |= DSF_RUNNING; sc->tbusy = 0; - untimeout(wlwatchdog, sc); + untimeout(wlwatchdog, sc, sc->watchdog_ch); wlstart(ifp); } else { @@ -867,7 +869,7 @@ wlstart(struct ifnet *ifp) if((scb_status & 0x0700) == SCB_CUS_IDLE && (cu_status & AC_SW_B) == 0){ sc->tbusy = 0; - untimeout(wlwatchdog, sc); + untimeout(wlwatchdog, sc, sc->watchdog_ch); sc->wl_ac.ac_if.if_flags &= ~IFF_OACTIVE; /* * This is probably just a race. The xmt'r is just @@ -906,7 +908,7 @@ wlstart(struct ifnet *ifp) * fails to interrupt we will restart */ /* try 10 ticks, not very long */ - timeout(wlwatchdog, sc, 10); + sc->watchdog_ch = timeout(wlwatchdog, sc, 10); sc->wl_ac.ac_if.if_flags |= IFF_OACTIVE; sc->wl_if.if_opackets++; wlxmt(unit, m); @@ -1605,7 +1607,7 @@ int unit; } } sc->tbusy = 0; - untimeout(wlwatchdog, sc); + untimeout(wlwatchdog, sc, sc->watchdog_ch); sc->wl_ac.ac_if.if_flags &= ~IFF_OACTIVE; wlstart(&(sc->wl_if)); } -- cgit v1.1