3
Calls the
el_reset_locked( )
routine, which performs the actual
tasks that are associated with resetting the device.
4
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
}
1
Indicates that the device is no longer running by clearing the
IFF_RUNNING
bit in the interface flags structure member.
2
Calls the
el_init_locked( )
routine. See Section 8.2 for a description
of the
el_init_locked( )
routine.
11–2 Implementing the Reset Section