From nobody Thu Jul 17 04:02:05 2025 X-Original-To: dev-commits-src-all@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 4bjK4Y5lV7z62Pnw; Thu, 17 Jul 2025 04:02:05 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bjK4Y21t9z41xZ; Thu, 17 Jul 2025 04:02:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1752724925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3Sfh3L0GBXBPLo4o+t0F/6gT7ouH4t7lubGk3OTQok=; b=AbsT9XcdeEJvGH04onCZq1T1NKH0eEKdQ2xWZfJMrFSMYMT1NRiSJw0zg7iz/FVAoVsSAQ Q935cZFJhdmPfIeWdf89fcfEsLFY/j1VDpFMaSCNDywworhsLt4gISeTPrm9Cg6WrQVmsK ZOMJVl81+8eZZEFMpnmwJcodHCb9QXnL0/mdIdwUD+E4btN5Md0UpF0+KWfK25AA90y1i/ 6yTuhrxcYYcWaJcpyQ+H9/1m9iSImDuENa1YeHDDuEeEnkIZKjB+6MQSQZYnS9Ix/QQ9co TmOOtNOWZ2ayfJkkWxtE8RoPQ3/osFT7HDFkXV2bKvB2/rT5Yfwa4PU43USL2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1752724925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3Sfh3L0GBXBPLo4o+t0F/6gT7ouH4t7lubGk3OTQok=; b=IZGBCdO6J6f6zAt6vnDcuiOhbo3wswrAiylrlc4YUXHy5XiUNULmWL+7i2iKiSpknFMDKx kCBMB4ys9GYdZUuAynl58rXtmHmRp/eHEMTSGfhI0hUab3VK8i1PTpPiB5wFmqEFViEqX5 r+AhSGvAWmKZZsiXhdEQYQVdx9mfHa0YtMJAGSWGEesTeSZbB+V8CbYJmC4/ZK3aJGQIVq t35AnAXmti2rQNC6+Yg4FlhfP5uW+00SnOuHEYowoiYJrxEfKpjNU/m0cwyNoA3G8ln7Iq 0GCivnoAeLoWY809JqdY0HXIk8UNQR0/mtzzRERUNNiYu/7V5OwpjqEvBZYEYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1752724925; a=rsa-sha256; cv=none; b=WnLirg13n3yV+oGMNoimTnrLGa5hVoHzgUytLJLMmXwfsDjl1szYiEOETuUS3oxD92Ac3j ZfHQjTfvmM+I6yQeWAgYLEWqKSQCPgrcZSBhk4NUN2G6WZOW/6ZBULFn6OoRyUaL/wSeuo kJEQJ8Zb2Hh4dybqZHd6lNVVYY+kybf9VzMF9Uuw7BCv49YRIEsCo8YQkEMq3bttzLZejI GF6PBE9cG0hFY44jk0kxWqvcsG+j83ARpvtXKIeLUamnNOdNr49YZyVPNGptZaSN0QqiTR OWZ+dhRLYIgC7Kdk0z+Yg2g9y6jTmsi5CMIoTrQ8GDqxY2w/8HwA1WtdGCRdZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bjK4Y17hQzgHC; Thu, 17 Jul 2025 04:02:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56H425lh080281; Thu, 17 Jul 2025 04:02:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56H425Jr080278; Thu, 17 Jul 2025 04:02:05 GMT (envelope-from git) Date: Thu, 17 Jul 2025 04:02:05 GMT Message-Id: <202507170402.56H425Jr080278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 12fea464070a - main - qlnxe: Fix error handling of SIOCGI2C ioctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12fea464070a9061fda874038614ed55011ad59d Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=12fea464070a9061fda874038614ed55011ad59d commit 12fea464070a9061fda874038614ed55011ad59d Author: Zhenlei Huang AuthorDate: 2025-07-17 04:01:16 +0000 Commit: Zhenlei Huang CommitDate: 2025-07-17 04:01:16 +0000 qlnxe: Fix error handling of SIOCGI2C ioctl The error -1 is actually ERESTART in the context of syscall. It is for kernel mode only and will not be passed to user mode. When the kernel sees this error it will restart the syscall. When the the SFP module data is not available, e.g. the SFP module is not present, the ioctl handler returns ERESTART and kernel will retry infinitely, hence the userland `ifconfig -v ql0` will hang forever until get interrupted. That is apparently wrong. Fix that by returning error ENODEV to indicate the SFP module data is not available. As for the case that ecore_ptt_acquire() fails, it appears to be quite safe to restart, so keep returning ERESTART. Reported by: Steve Wheeler See also: https://redmine.pfsense.org/issues/16248 Reviewed by: kbowling MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D51351 --- sys/dev/qlnx/qlnxe/qlnx_os.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c index 160534476688..9d23d5df1d2b 100644 --- a/sys/dev/qlnx/qlnxe/qlnx_os.c +++ b/sys/dev/qlnx/qlnxe/qlnx_os.c @@ -2780,7 +2780,7 @@ qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data) if (!p_ptt) { QL_DPRINT1(ha, "ecore_ptt_acquire failed\n"); - ret = -1; + ret = ERESTART; break; } @@ -2791,7 +2791,7 @@ qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data) ecore_ptt_release(p_hwfn, p_ptt); if (ret) { - ret = -1; + ret = ENODEV; break; }