From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 98111606A334 for ; Fri, 6 Nov 2026 10:45:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=IbgpypUJ; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=GDJRf9Uq DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=SXSztUdv6Bonujd1z7MPSwv7Im9vBuR0QkWaDbrch5I=; b=IbgpypUJRehqGY3YbTQyjFzgMu Qm8PRYoTx0oh77d3CIq6ncPBss57skdxdx9H4Lg/k7pNCGtqag0XJbo/gP4yeUU8xoprKQTABfOHa 2JRKMZXIbfcGA93EPRr6nMPyLp5mR3byZOhgY95a/5VOjJ5WLFOr2oaumef93+/T0ut+0KGC2Banv 9+WCSn2ljWu7q8ex6Unm++eVY1WaAhdMGOR7wOifr+PG8FYcRQuliIHuKf/NRhyHDOKWv5ZQQzuvk mhC7IqNbasNUFDLK2DNC6zb4KLZgnE71+DklpcZfF65oDlJh2nH6XdfSqlppSVZvaQqomTbgRQNaz kHUHlhuA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPHRX-0000000BzP8-3vDD; Fri, 06 Nov 2026 10:45:11 +0000 Received: from mail-pj2-x0b.google.com ([2607:f8b0:4864:39::b]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPHRW-0000000BzOH-0bdD for linux-riscv@lists.infradead.org; Fri, 06 Nov 2026 10:45:11 +0000 Received: by mail-pj2-x0b.google.com with SMTP id d9443c01a7336-2ea19bc317dso4211795ad.1 for ; Fri, 06 Nov 2026 02:45:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793961909; x=1794566709; darn=lists.infradead.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=mK5Jdfitjwy2qBnVXmB5t+/eIsoKS4R4I1jh8e8KWtg=; b=GDJRf9Uq4qkm4bk3fiRnKKmoTl+XCP6A5Zfi1N9DaJKggVP2PIlhdsrOiuLtKkVWUW 0UAv9ZBmvtOSb4V19mu/qkHI3Jjl0qQ2xcgUv4cnPBaSDmBLEIQHzwTzn5Cihpi4HCcq oD43IPqdF5+PwSLJCHEKTxF/j0fv6qK8gVEqcqddBvldz3FN3IFqE4pZxEm11oT8QVOC iROUi5CdvwyBia2XoMJzqHkOo0ZmLHoT+19nWN3towCftGFcZ7XXgh1XUzu5DEY5waiL kkLx+62gVzJ2nY3UoGa5u8knLN45AcqMZVmXPNqgoentxAO9LufM0FnHT2sPp4opqRG0 Rqjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793961909; x=1794566709; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=mK5Jdfitjwy2qBnVXmB5t+/eIsoKS4R4I1jh8e8KWtg=; b=yTY9QLse+03q4linyIkTlv2xJqGVbzGzUGH1q3+Ldrjs3NjtqppaUSQImzVhrp6MzH 3EjWoaAo69TUsWg4bhqa3muVG0CMrwadlY+qP7BQV+1N0ydUT8jNXFz73495YoSpppVn S1PjdcQ7qb+H/QKhxDw+P7YbCMUpLGjEMg4UVw2PvMfGBC2j7mijAIJuMUTl+lEoYj6y 6ptS+xP3t3iubTcREOLkZ60bSldY/sJ1elUGtD8j6OaAZSjdhbpbYFtclyn4G7UVLLam ZsuhFvuP0rD1ptJSdIp7BZt9883x/YLtbDcyupN9zzeknqNv40RWwLgLarSdb2bW+edY zEhw== X-Forwarded-Encrypted: i=1; AL+hErEkl+S6sIVUrjyjfOlAuDwj6wQ0NSIWxUkGCp70g94ivYofkVaBjfXF6MyqtJ0mBVVQoB4I9B0TbGSpZg==@lists.infradead.org X-Gm-Message-State: APuU4Z/eZIzZYE4X4lQ67+XOTMLw9QlChE6Hv2b3Fm+o0bpoUWbuc8Ed NkCmEFwOXNRJvLKTmPkCsRX5dwZrxVCZNKznhjGqyDsKrYj/8w+KvNru X-Gm-Gg: AYBFou15DebYm8tkZTmcyQAkVg5gCA3rAP2ayz0ZciLXqQut0i9qYRVzwodTeOU9bD5 rzJvxxjGZy/T3zdW15unCkK7TdBnBYezD62BdLvkBN1TgX+JH+4BKRI4YPU3d5CdgK+iIHeeOEm vZJjuP0IkxxFpkJEDMoog0o9Rp47I5N0kC5Mk0AFOi70tu5J9XokZQCxilLKeU5z2AdZervYEsK FdyGskwQjPkfZxhrbWrjpvq3QLMYy2vUoewHEvcmVOGaCKQxvlOMeSjHxqhfURW3dLdyNGy8I3W 9DIFa41RDhbZnnFxYViyaRzQy66jns5UiKucAInGbHViPKvkYpt5ouzDGUe+b5kUfLZJCRUe3xA L4+Jx66AJ4dyVofrO5Th5cVjkx33s3qiymVGOKWvONdvlnTlSiFAye+8yCZdXy8mQOeZ3YYWgmQ AK+pRe3jSo9dKoIxGJISH8K3jCho2VtEBFVj22HfkOOeToLT90mYSRUlEURJxDvILgayTf/PczV n6Rga60I9WTDNM88gCEqkJ4axJkDX7q2xP2rvrHbGszzQDErObLbGSsHIH9qa3lZ71Avq/LfsuH HuPYT3rg7lRiSGsT2D9KHpiZc8aXCIyh7Sm7MUHJ7ZRNECWNWZ9HIPFY960= X-Received: by 2002:a17:902:da87:b0:2ed:205e:eabc with SMTP id d9443c01a7336-2ed41bbd3d4mr26889285ad.32.1793961908564; Fri, 06 Nov 2026 02:45:08 -0800 (PST) Received: from [192.168.100.182] ([110.93.227.81]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed47d8915esm4095755ad.67.2026.11.06.02.44.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Nov 2026 02:45:06 -0800 (PST) Message-ID: Date: Fri, 6 Nov 2026 15:44:50 +0500 X-Archived-By: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net] net: spacemit: Hold RTNL lock in emac_resume() and emac_suspend() To: Troy Mitchell Cc: Vadim Fedorenko , netdev@vger.kernel.org, Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Yixun Lan , Vivian Wang , Chukun Pan , Siddharth Vadapalli , Tomas Hlavacek , Muhammad Bilal , Maxime Chevallier , linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org References: <20261105123441.2524171-1-alitariq45892@gmail.com> Content-Language: en-US From: Ali Tariq In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261106_024510_194464_0AEE7475 X-CRM114-Status: GOOD ( 10.29 ) X-Spam-Score: 1.5 (+) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-riscv" X-Spam-Status: No, score=-7.3 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 On 11/6/26 2:43 PM, Troy Mitchell wrote: > On Thu, 5 Nov 2026 17:34:37 +0500, Ali Tariq wrote: >> @@ -2056,7 +2059,9 @@ static int emac_suspend(struct device *dev) >> return 0; >> } >> >> + rtnl_lock(); >> emac_stop(ndev); >> + rtnl_unlock(); >> >> clk_disable_unprepare(priv->bus_clk); >> netif_device_detach(ndev); > This can deadlock. emac_stop() -> emac_down() calls > cancel_work_sync(&priv->tx_timeout_task) with RTNL now held, while > emac_tx_timeout_task() starts with rtnl_lock(). > Thanks Troy, that makes sense. For the deadlock, I think the correct function to call is rtnl_trylock() inside the emac_tx_timeout_task(), which would return if the lock is already held and will hold the lock if it is not. What are your thoughts on this? Does a v2 changing rtnl_lock() to rtnl_trylock() inside emac_tx_timeout_task() make sense? Regards, Ali _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=74.125.227.129 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793961910; b=eKYK7OCfocX0ZegLiexIIx36BwxzzvpR5wh8OTngHQPSqx8PihaStoAuEmkEqlXrEQ3q wKD1bzHLW9Apv+55WMxP1lyb5vH48SWLcbgV2eNAUOZg5I9W1rnD2HxLqyN4NsUI2vGDP cs+9ximVVJ/AZ8vmYyjITGwisRVLv95Gq3CLlhzZT+ob/NWF1A20eNStGWbRBwgqaDpma GtT7vvnwWTXy9sG7VqNtiF9hWGdCEWr4S2AbU9Yi6d+lmP8oMPc7X8P5C3d9qfBB2+FlK /MBwAbzR/mHvuFTuC/ufrAx2WoI75H2LHmocOGrLivphEh38vbpwA/We2+zvV+JjMVw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793961910; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References: Content-Language:From:In-Reply-To:Content-Type: Content-Transfer-Encoding; bh=mK5Jdfitjwy2qBnVXmB5t+/eIsoKS4R4I1jh8e8KWtg=; b=lAKTc7g+2zVr/MJeXMuEmz9vzeNOPG9lwil0TKiQRi1WzQDoH1JvL7f758ENshiikpk7 N8nUo/r5w076GydMcyCrV0rSourA9tmGFy+FmlCsAOIGqxDMB7FtMce8zz6MlBayR9yVP 4kUpUYREK2W2KYMqQ3dJIl+zHBzOw7C1lEiTdt/y+JTw0V3VYhPE7PntmTvnCVAs8N5Qp ocOZ467r1Ggx9wZKPnlho1D7BBQOvV/BXVBR7T0PSXHiDTV9DwmD3HQQ2exIRP918axHt MBCVcLJBh8u+YLI5FmsnIHXqZxLgt6KLhFKmSiX8Ff8FF90KRqqvy7QV9zrRPMRCi/Q== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=p28NkKP4; arc=none smtp.remote-ip=74.125.227.129 Received: from mail-pj2-f1.google.com (mail-pj2-f1.google.com [74.125.227.129]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76B91606A330 for ; Fri, 6 Nov 2026 10:45:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 76B91606A330 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=p28NkKP4 Received: by mail-pj2-f1.google.com with SMTP id d9443c01a7336-2ed408b0d0bso3264355ad.0 for ; Fri, 06 Nov 2026 02:45:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793961909; x=1794566709; darn=lists.linux.dev; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=mK5Jdfitjwy2qBnVXmB5t+/eIsoKS4R4I1jh8e8KWtg=; b=p28NkKP4Re3QnaRjUdHGTNZqXJnPtampR3CLWlyrB0id6a4GeDECKpaC4cFsvT7/4v AQyLFExdUioNxw+VQid2C2takwQz/1FSzVhQtmdyLezBSTO0DJOC+n8a7vjmk5RRfUI3 M6DBYNvHXh1l2QxVDrt8FUE4G4dzujiHecOCJiEiAPdpBua80QUIqfvcpGnZgW6GgJIv vOBYw54Jv9JiJadYRAbotFwO0CSh7ii+QESSt2nI4nbAsRMR6yFsl2hwjViRC4sWgIzd UOXqMxef6nUJNPh6wkKm9RbgSCyesCY53To3Sub0537/d1pPQfjhpphw+tkrD4degc47 ayMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793961909; x=1794566709; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=mK5Jdfitjwy2qBnVXmB5t+/eIsoKS4R4I1jh8e8KWtg=; b=F1n/KfnJ/DiuWrEEZIchr9Aw1sJ9ae4ST8V7jZdJnnT+4DhmI4KxLaOR8Zj10K5MM9 fa+BBPETMR8U+4XIccyHC5eFvY9CgBLVkQVrzKpx6C3s1z5YsYZfhKix+t8yq9DVLjw7 bdvTO5VwOIxxt80PZnIHAQKsCF48rmivLbetNMURF9T4SKAF8Zjx8xgLh6u3AxCZ6WqR JiNUhJ64G+tYBXPfwy6YZzYHe+E8gjdYAjqRZYJzhSX+sqjvCbrqUBbAGbxRZWGPgG8a f5i7xRzU/dxU3tNr8FUOg7LDwQYCMa8IBMTWpwze/2yi1kkzifVi7vStCIF+YfW+kx2e u81g== X-Forwarded-Encrypted: i=1; AL+hErFtR0K6CVHaTdjv7pRn0nMTfB9iQ+FDhB0xmsCYFtcyWzERFo2DQIVhNjw3/1x9JelyV7W6eB8jHA==@lists.linux.dev X-Gm-Message-State: APuU4Z8+7nc4nmZsS0gO1dOt/viFFXr45RVkpZ3rF9ElOxE3jbL5eRKF N2G43IAeVYIdoch4yE2SVVHTWDHcdPCUdBeXUK5YTXCLNVxos8dNt6aB X-Gm-Gg: AYBFou3N0sKTGOJMUUD1kQsMZ05SsgufmhGV9HJkyD5fX8IovAXWejVyc2Ap3NcvCZ6 HEbobl3ZlPnPmlp+AvEG9hOvhlFanJH2U4lqs17H2ORE6V+SdoRdSsAzvIYIBWFaxLeAvrish+3 vi0qOIfn+UuIJoild83j1dWf3ESgZViWoMnu3D9PD9vLRYCOo217j6XS7i0uQdEpJGvysXrxQg5 zKkWzoL1zjndru9YcExnF2X7bNolO/930BQkJ3HvgmOA91wtqopzcOcXwpiFJQlIEOLEPWkZcub ONn5sBnA1r5st84sen0g4g/rYF4d/pUL9dxYZ/IiJAVedOGcefAJsfNdw55SpfY5t4G3Aishj0F PUVInC/4ATxB83eXnku4UHS1tqa8yfJLHvjP7Z2zGIkfNfPbTa32PHElQyxtIHXmwzvg69pEJLf zu5ENQbjsWVkyL1jK9C2+N0JdW9SQux0zGBfYXLvHFju92E3qsGs37BEXhys+9k1IuosiaW/7TD d4PnQD02bGRqUcGv89MNRJt9FQlqHR/MdWzFfuRsrXTBOkCVYrcu+y1nZe2hb7M3OHEVWgCcYpj Le0+yqFlCromT/lizR5TPzO5SJbHh0zz3dgwovQ7UGvIQefgbO9WWnZUGKg= X-Received: by 2002:a17:902:da87:b0:2ed:205e:eabc with SMTP id d9443c01a7336-2ed41bbd3d4mr26889285ad.32.1793961908564; Fri, 06 Nov 2026 02:45:08 -0800 (PST) Received: from [192.168.100.182] ([110.93.227.81]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed47d8915esm4095755ad.67.2026.11.06.02.44.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Nov 2026 02:45:06 -0800 (PST) Message-ID: Date: Fri, 6 Nov 2026 15:44:50 +0500 X-Mailing-List: spacemit@lists.linux.dev List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net] net: spacemit: Hold RTNL lock in emac_resume() and emac_suspend() To: Troy Mitchell Cc: Vadim Fedorenko , netdev@vger.kernel.org, Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Yixun Lan , Vivian Wang , Chukun Pan , Siddharth Vadapalli , Tomas Hlavacek , Muhammad Bilal , Maxime Chevallier , linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org References: <20261105123441.2524171-1-alitariq45892@gmail.com> Content-Language: en-US From: Ali Tariq In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/6/26 2:43 PM, Troy Mitchell wrote: > On Thu, 5 Nov 2026 17:34:37 +0500, Ali Tariq wrote: >> @@ -2056,7 +2059,9 @@ static int emac_suspend(struct device *dev) >> return 0; >> } >> >> + rtnl_lock(); >> emac_stop(ndev); >> + rtnl_unlock(); >> >> clk_disable_unprepare(priv->bus_clk); >> netif_device_detach(ndev); > This can deadlock. emac_stop() -> emac_down() calls > cancel_work_sync(&priv->tx_timeout_task) with RTNL now held, while > emac_tx_timeout_task() starts with rtnl_lock(). > Thanks Troy, that makes sense. For the deadlock, I think the correct function to call is rtnl_trylock() inside the emac_tx_timeout_task(), which would return if the lock is already held and will hold the lock if it is not. What are your thoughts on this? Does a v2 changing rtnl_lock() to rtnl_trylock() inside emac_tx_timeout_task() make sense? Regards, Ali