From nobody Tue Feb 3 03:22:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f4pgX4vvvz6R0V5 for ; Tue, 03 Feb 2026 03:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4pgX41Hmz3kQ5 for ; Tue, 03 Feb 2026 03:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770088920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u8L5fGTx1ET5LcUQkUqJotaNKPp81DwYtAXYXtiBWvU=; b=hc1BaimFZ+TyGyZ62dFXyBwotocSEeLO69RzCM31wtHEZOjboAfK95z7FM8lZ3bmpyegGA gjCIm1UyEu9J7nJpXEphM7i6Y2MhepnoI/DTorGwWPzsp48EGHaBRRSE+Q7i1Ak5qvBAzy LznPej/WbcReH7ZDqWDLidTEk3g5/IwBQB8ZhiWI2Nt40eaWe+E6+GcHaHSJkWojqcUZVB lBFF17+cxlY/vHflOHL8zOtrEt8n+ARoeUrhPXYV87D5Hn+SFXQ1PJY7lmhC8O4maKuNC9 d6ZhaZScbJ3Ak6uKdSgr5Ye1i3ecVyz6KNWMlBcHcPM3hBY81JIo+kY6JwLJfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770088920; a=rsa-sha256; cv=none; b=eZQm8cmfgtD8P1q0Ezbyknpz/HcKtpDTyLA3UweM8LkuCmKyh8X62/eFYse4mn4JcrGUOy pRNictaJBuujUGLnnqSKxlK1uzNqRw7tmomzH36zaPq/jyezbeYkklhIHFfKt5iSpGqC9H bM1s7H33YzmOLzD0THPssteiPHhIhT9u5KPzprWXGJ5o7GYWo6rqOWgRyhQlpoGajQWRGa hmBqV7aapcdmdNoeiNYuFzsXWLzzx2rG3VZmzjQtUpZoQTloxAZjm3lzXDyjHHc+KqCr4T pPfhGZPD9SmDYfmq88UDUcfYEjJJcMkuOwlhnWsBUMhlGHTIrX8O4wv9it+esw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770088920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u8L5fGTx1ET5LcUQkUqJotaNKPp81DwYtAXYXtiBWvU=; b=BtuqJyRVlBvHdWeNI+khL32WNWbiEedVPt8MrIybiLDjBohfCyIO1S1w4WYatHGjk45hjd DXIgSitkvA28HHFYUDtaAwIjGwhbMeA2R2Bwc4FA19wcnwRkyjUqMXJWFd/pY+1Onh9e0W SmM8bH+FLRYngEtSO3QCXA+DuJedwwjAE3wvkQg/ygAaV0Or3sRfGSzgee86wLAN+UKv1x sF74DD+ftTLdbNT2s/x/zX9uSEWRVpKeoKf2PBAivQbKHrp+fZZZlf2QWayDM47U3rSUMv ctXGkiFRHoTsE2U9wW/YuPloYVlyAXP8WO7rhdIGFiu8puz/YWLUgYSNh+uKWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4pgX2kmYzvTq for ; Tue, 03 Feb 2026 03:22:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e247 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Feb 2026 03:22:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Kyle Evans Subject: git: ed3a2469a71e - main - uart: fix sleeping while holding mutex in uart_tty_detach() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ed3a2469a71e0ef48cf8e636c35e64a011756da3 Auto-Submitted: auto-generated Date: Tue, 03 Feb 2026 03:22:00 +0000 Message-Id: <698169d8.3e247.38c763e5@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ed3a2469a71e0ef48cf8e636c35e64a011756da3 commit ed3a2469a71e0ef48cf8e636c35e64a011756da3 Author: Abdelkader Boudih AuthorDate: 2026-02-03 03:21:43 +0000 Commit: Kyle Evans CommitDate: 2026-02-03 03:21:43 +0000 uart: fix sleeping while holding mutex in uart_tty_detach() Move swi_remove() call before acquiring the tty lock. swi_remove() calls intr_event_remove_handler() which may sleep via msleep(), causing a lock order violation when called with the tty mutex held. The software interrupt handler removal operates on the interrupt event structure independently and does not require the tty lock. This matches the pattern used in other drivers such as tcp_hpts.c where swi_remove() is called without holding other locks. Reviewed by: imp, kevans MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54953 --- sys/dev/uart/uart_tty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart_tty.c b/sys/dev/uart/uart_tty.c index d15d1d0c6ac2..7f0f730b3b6e 100644 --- a/sys/dev/uart/uart_tty.c +++ b/sys/dev/uart/uart_tty.c @@ -447,8 +447,9 @@ uart_tty_detach(struct uart_softc *sc) tp = sc->sc_u.u_tty.tp; - tty_lock(tp); swi_remove(sc->sc_softih); + + tty_lock(tp); tty_rel_gone(tp); return (0);