3

4

Calls the el_reset_locked( ) routine, which performs the actual tasks that are associated with resetting the device.

Calls the simple_unlock( ) routine to release the simple lock for the el_softc data structure and then resets the CPU priority to the level that it was originally at upon entrance to this routine.

11.2 Implementing the el_reset_locked Routine

The following code shows how the el_reset_locked( ) routine resets and restarts the hardware:

static void el_reset_locked(struct el_softc *sc, struct ifnet *ifp,

int unit)

{

ifp->if_flags &= ~ IFF_RUNNING; 1 el_init_locked(sc, ifp, unit); 2

}

1Indicates that the device is no longer running by clearing the IFF_RUNNING bit in the interface flags structure member.

2Calls the el_init_locked( ) routine. See Section 8.2 for a description of the el_init_locked( ) routine.

11–2Implementing the Reset Section

Page 124
Image 124
Compaq AA-RNG2A-TE manual Implementing the elresetlocked Routine