diff options
| author | Warner Losh <imp@FreeBSD.org> | 2025-12-10 21:06:50 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2025-12-10 21:09:07 +0000 |
| commit | 84d198e137a59a17c08896333eaa9b318f4b1e1f (patch) | |
| tree | a5a25bfbbfd1b15264c8c00de80310d442e359dc /sys/dev/mpr | |
| parent | 89eddfb4b9f5d744623ce0ee8ea966b0d33456e5 (diff) | |
Diffstat (limited to 'sys/dev/mpr')
| -rw-r--r-- | sys/dev/mpr/mpr_sas.c | 31 | ||||
| -rw-r--r-- | sys/dev/mpr/mpr_sas.h | 3 |
2 files changed, 2 insertions, 32 deletions
diff --git a/sys/dev/mpr/mpr_sas.c b/sys/dev/mpr/mpr_sas.c index a48593b1e6ee..5f3a27a468b0 100644 --- a/sys/dev/mpr/mpr_sas.c +++ b/sys/dev/mpr/mpr_sas.c @@ -152,25 +152,6 @@ mprsas_find_target_by_handle(struct mprsas_softc *sassc, int start, return (NULL); } -static void -mprsas_startup_timeout(void *_sassc) -{ - struct mprsas_softc *sassc = _sassc; - - /* - * Things have taken far too long. We have to get on with it. However, - * we're still processing events. We'll release the boot here only. - * We're called with the mpr lock held, which the rest of these - * functions take. This may cause mountroot to fail, but we'll at least - * proceed with the boot if this isn't holding up the system disk. - */ - callout_stop(&sassc->startup_timeout); - sassc->flags &= ~MPRSAS_STARTUP_ARMED; - xpt_release_boot(); - printf("Gave up all the devices...\n"); -}; - - /* we need to freeze the simq during attach and diag reset, to avoid failing * commands before device handles have been found by discovery. Since * discovery involves reading config pages and possibly sending commands, @@ -190,10 +171,6 @@ mprsas_startup_increment(struct mprsas_softc *sassc) "%s freezing simq\n", __func__); xpt_hold_boot(); xpt_freeze_simq(sassc->sim, 1); - callout_init_mtx(&sassc->startup_timeout, - &sassc->sc->mpr_mtx, 0); - callout_reset(&sassc->startup_timeout, 60 * hz, - mprsas_startup_timeout, sassc); } mpr_dprint(sassc->sc, MPR_INIT, "%s refcount %u\n", __func__, sassc->startup_refcount); @@ -220,15 +197,11 @@ mprsas_startup_decrement(struct mprsas_softc *sassc) /* finished all discovery-related actions, release * the simq and rescan for the latest topology. */ - bool need_release = sassc->flags & MPRSAS_STARTUP_ARMED; mpr_dprint(sassc->sc, MPR_INIT, "%s releasing simq\n", __func__); - if (need_release) /* stop to prevent deadlock */ - callout_stop(&sassc->startup_timeout); - sassc->flags &= ~(MPRSAS_IN_STARTUP | MPRSAS_STARTUP_ARMED); + sassc->flags &= ~MPRSAS_IN_STARTUP; xpt_release_simq(sassc->sim, 1); - if (need_release) - xpt_release_boot(); + xpt_release_boot(); } mpr_dprint(sassc->sc, MPR_INIT, "%s refcount %u\n", __func__, sassc->startup_refcount); diff --git a/sys/dev/mpr/mpr_sas.h b/sys/dev/mpr/mpr_sas.h index 24250cf50d14..4f1be3cd4214 100644 --- a/sys/dev/mpr/mpr_sas.h +++ b/sys/dev/mpr/mpr_sas.h @@ -91,7 +91,6 @@ struct mprsas_softc { #define MPRSAS_IN_STARTUP (1 << 1) #define MPRSAS_QUEUE_FROZEN (1 << 3) #define MPRSAS_TOREMOVE (1 << 5) -#define MPRSAS_STARTUP_ARMED (1 << 6) u_int maxtargets; struct mprsas_target *targets; struct cam_devq *devq; @@ -103,8 +102,6 @@ struct mprsas_softc { u_int startup_refcount; struct proc *sysctl_proc; - struct callout startup_timeout; - struct taskqueue *ev_tq; struct task ev_task; TAILQ_HEAD(, mpr_fw_event_work) ev_queue; |
