diff options
| author | Cristian Marussi <cristian.marussi@arm.com> | 2025-01-23 12:46:38 +0000 |
|---|---|---|
| committer | Andrew Turner <andrew@FreeBSD.org> | 2025-01-23 17:26:26 +0000 |
| commit | c56e586f0f029fec4a0fee844f83ff62da20e4b6 (patch) | |
| tree | 403450f34033a55e6cb304da23fe6d19f588d315 /sys/dev/firmware | |
| parent | 00b77e631bff6104c6327e9920dfac98bb47697b (diff) | |
Diffstat (limited to 'sys/dev/firmware')
| -rw-r--r-- | sys/dev/firmware/arm/scmi.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index c2585d8d9637..37496136c828 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -545,6 +545,7 @@ scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req, void **out) */ mtx_lock_spin(&req->mtx); needs_drop = (ret == 0) && !req->done; + req->timed_out = ret != 0; mtx_unlock_spin(&req->mtx); if (needs_drop) scmi_req_drop_inflight(sc, req); @@ -560,6 +561,7 @@ scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req, void **out) mtx_lock_spin(&req->mtx); if (ret != 0 && req->done) ret = 0; + req->timed_out = ret != 0; mtx_unlock_spin(&req->mtx); } @@ -569,9 +571,6 @@ scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req, void **out) ret = req->msg.payld[0]; *out = &req->msg.payld[SCMI_MSG_HDR_SIZE]; } else { - mtx_lock_spin(&req->mtx); - req->timed_out = true; - mtx_unlock_spin(&req->mtx); device_printf(sc->dev, "Request for token 0x%X timed-out.\n", req->token); } |
