mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-22 15:47:37 +00:00
Add callout_drain()'s to foo_detach() after calling foo_stop() to make sure
that if softclock is running on another CPU and is blocked on our driver lock, we will wait until it has acquired the lock, seen that it was cancelled, dropped the lock, and awakened us so that we can safely destroy the mutex. MFC after: 3 days
This commit is contained in:
parent
c98ae70c21
commit
9eda9d7ac5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=149203
@ -901,6 +901,7 @@ fxp_detach(device_t dev)
|
||||
CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, FXP_SCB_INTR_DISABLE);
|
||||
fxp_stop(sc);
|
||||
FXP_UNLOCK(sc);
|
||||
callout_drain(&sc->stat_ch);
|
||||
|
||||
/*
|
||||
* Close down routes etc.
|
||||
|
@ -388,6 +388,7 @@ hme_detach(struct hme_softc *sc)
|
||||
HME_LOCK(sc);
|
||||
hme_stop(sc);
|
||||
HME_UNLOCK(sc);
|
||||
callout_drain(&sc->sc_tick_ch);
|
||||
device_delete_child(sc->sc_dev, sc->sc_miibus);
|
||||
|
||||
for (i = 0; i < HME_NTXQ; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user