Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2745363rwd; Mon, 22 May 2023 03:51:54 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7KxUGKSA8kgsDvO4G9uxVgPzB0uq1ApLhfGHRPpzIx2YxTPjCa5NRa7m1W3MmmqA+v/8fy X-Received: by 2002:a05:6a00:21d5:b0:644:8172:3ea9 with SMTP id t21-20020a056a0021d500b0064481723ea9mr13473577pfj.15.1684752713770; Mon, 22 May 2023 03:51:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684752713; cv=none; d=google.com; s=arc-20160816; b=pNr5S4FUm9Gjsh7lHnsxkx9xHwOMX+KAp7q/T42+eAC8LF2Vz8nfcntCEoa7Bw2rK6 t1UaNxE19xuZPfUiOkBOBrQQyJM5XEh6FINLMfXtek2deBnB2XJs7ZKP5h8XQu9UaUTZ 8E7XwYGGgi+QdMmAqyLgOI/DgRVnT6zOjabQtrpZ8G/nA+yPUUouLc0S23M9kfLKpvZs SzfLpPn/1I/UnutAwJ5sgpDRGIHpUwCzwT15qcR+QBHK93i5CQib4KzL2xa2QojMV9ev DLuDLKTMwMyfd5yXtZdCzEJaamn2HnPJ8H2TqEUWRt39U8srfUm5kZQGQOaXPmQ9WcLs Gi6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=65v00oth8llyyqlj2COYxgZ3LDV9ng4IjXfVfrT+DXI=; b=Mg+3jpUq0rAgQIEX5yHtxFMHleYyRBjfFPWXVxHI/mEh+YHMVz2oFihpCn3S0McPG7 pXI46MxjEzs+jwzERdkyPBlRC8GGlUQmyejM6HJBcDxNKwN38qhM8M2it4aEoXmJtL+i EWZFJVef4N5v8squbHvRhBhsG2gTXumSOjYOHorKXKETR+5gozbapFLU2yUybQgODPyw 8pVEIakP5lCnBfWlsYxpEbeIdXXHTBTrbX0D1UmHAXKefOzE0BGc15/cJXHq6EF4SZb2 GT0MobqFyCPjjaR8Ms/eazFMvZsSJ4RJTVpxZWZ03c+h2viYiomsmAk5m/cN3wMZsH2B LEZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SwWpEXFk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c193-20020a621cca000000b005a8b856ad47si267859pfc.7.2023.05.22.03.51.39; Mon, 22 May 2023 03:51:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SwWpEXFk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230176AbjEVKfv (ORCPT + 99 others); Mon, 22 May 2023 06:35:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230375AbjEVKfs (ORCPT ); Mon, 22 May 2023 06:35:48 -0400 Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08781E0 for ; Mon, 22 May 2023 03:35:47 -0700 (PDT) Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-3f608074b50so2375865e9.0 for ; Mon, 22 May 2023 03:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684751745; x=1687343745; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=65v00oth8llyyqlj2COYxgZ3LDV9ng4IjXfVfrT+DXI=; b=SwWpEXFk78PIWRx32ndx0QUvSAT3CtEOcSPlQgOLLzsAw+2Lp0pjN8uGsvh4UgxUPT mznc47ng/wwvMbyB/go0gU9h1x18e3CP1cPz2CP7Vbmjz5JnO+UdUd1xTzID3KWtjJ+P Fxo5pvags9Pt+T6BGWLs+SarBSYSnkxaL3HKWxnJoFLf9kCzr926esXEEnXuJZruBzGS AvVf87PBM++3jPhsa3FHRPCCERVRptVL197kp2hOZ83a707P9RtppbSlejwTaRERt2U/ KdwvHY316asApO92oZNvC8nlQ2VgSOXWtRQUaKoobc3E+po6gnhZ3LDT2wq3HncN+c9O aA0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684751745; x=1687343745; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=65v00oth8llyyqlj2COYxgZ3LDV9ng4IjXfVfrT+DXI=; b=Vd4+DE4iSsTa+A4ldEb8ASPRDpt+o8iYxgFKGSHPmJYIATDZQg9x3QF/kQVrcVHwOG SlGb63n8dM1cPSSerMGWPB7eYSo1cv7SSyshsOS2sBswKPeFw5qNU/GhiamaXq4BPSBx GZSpzLQ0ogVVndDSXDu7TfBGyTOmIOaHQy9x0MRauHqLv0cP1m7rjndwoGodsCFAMkJD mN2D8WwTvZA2edL+M/dIgx/hSiEB+j5GEWxul6yY0A/5ee58Uy/1vMEhfYwh6415LFWZ ozXy1VKY8LOZO/l7sCazOZJ1JwFDqj+XLzgVE0spWPSDXiSSdT/6Y6YfNolFuUh4iPEq C1jg== X-Gm-Message-State: AC+VfDyvhXX2vxy1VHknvl/IFP5Ou8HNSKMJsHPTaXiVK4dpYhKF5sLn WsExWryH/QbI8IF2HjCwjJILMA== X-Received: by 2002:a05:600c:c6:b0:3f6:692:5607 with SMTP id u6-20020a05600c00c600b003f606925607mr869487wmm.40.1684751745480; Mon, 22 May 2023 03:35:45 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id c4-20020a7bc004000000b003f42461ac75sm11155349wmb.12.2023.05.22.03.35.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 03:35:43 -0700 (PDT) Date: Mon, 22 May 2023 13:35:38 +0300 From: Dan Carpenter To: Simon Horman Cc: Christophe JAILLET , Rain River , Zhu Yanjun , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Ayaz Abdulla , linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH net] forcedeth: Fix an error handling path in nv_probe() Message-ID: References: <355e9a7d351b32ad897251b6f81b5886fcdc6766.1684571393.git.christophe.jaillet@wanadoo.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 22, 2023 at 12:12:48PM +0200, Simon Horman wrote: > On Sat, May 20, 2023 at 10:30:17AM +0200, Christophe JAILLET wrote: > > If an error occures after calling nv_mgmt_acquire_sema(), it should be > > undone with a corresponding nv_mgmt_release_sema() call. > > nit: s/occures/occurs/ > > > > > Add it in the error handling path of the probe as already done in the > > remove function. > > I was going to ask what happens if nv_mgmt_acquire_sema() fails. > Then I realised that it always returns 0. > > Perhaps it would be worth changing it's return type to void at some point. > What? No? It returns true on success and false on failure. drivers/net/ethernet/nvidia/forcedeth.c 5377 static int nv_mgmt_acquire_sema(struct net_device *dev) 5378 { 5379 struct fe_priv *np = netdev_priv(dev); 5380 u8 __iomem *base = get_hwbase(dev); 5381 int i; 5382 u32 tx_ctrl, mgmt_sema; 5383 5384 for (i = 0; i < 10; i++) { 5385 mgmt_sema = readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_MGMT_SEMA_MASK; 5386 if (mgmt_sema == NVREG_XMITCTL_MGMT_SEMA_FREE) 5387 break; 5388 msleep(500); 5389 } 5390 5391 if (mgmt_sema != NVREG_XMITCTL_MGMT_SEMA_FREE) 5392 return 0; 5393 5394 for (i = 0; i < 2; i++) { 5395 tx_ctrl = readl(base + NvRegTransmitterControl); 5396 tx_ctrl |= NVREG_XMITCTL_HOST_SEMA_ACQ; 5397 writel(tx_ctrl, base + NvRegTransmitterControl); 5398 5399 /* verify that semaphore was acquired */ 5400 tx_ctrl = readl(base + NvRegTransmitterControl); 5401 if (((tx_ctrl & NVREG_XMITCTL_HOST_SEMA_MASK) == NVREG_XMITCTL_HOST_SEMA_ACQ) && 5402 ((tx_ctrl & NVREG_XMITCTL_MGMT_SEMA_MASK) == NVREG_XMITCTL_MGMT_SEMA_FREE)) { 5403 np->mgmt_sema = 1; 5404 return 1; ^^^^^^^^^ Success path. 5405 } else 5406 udelay(50); 5407 } 5408 5409 return 0; 5410 } regards, dan carpenter