From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3DEE379ED1 for ; Sat, 21 Mar 2026 21:24:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774128283; cv=none; b=YYgTnbdLFqrJvRwBpqPzw8JNLQK9xsm1/VrIatIvd8ci2tnn5JcHB9x6N8W0fkgPlPobjsolBShFj/HDuMJG+4QJ47l40mrCw/39FuDWaF06y4OFENE4+POziuPLIOlxU3keiosPax6mHk/x/b9shx6N8H1V+Deb97OAJQgVPE0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774128283; c=relaxed/simple; bh=+TuDo7M8VZCHgqFs4xmkAYIivu5J9zxFCfo7L2BbJ70=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=rNiRFKy1MnHgwrEFtK/xFMBLEJf7pCBsyc9PWLOJBmltAfnkw5EXY9fhvefNgJizZKtq6zv63wslhFeqCa4pUqC0hH3ZVXol2RIF0xSqqVOQoPu4zVQJpQTE75U2nDSpCkCpAWXefgzulMeXtX4Z2lUwdjPP2FBI+hzw2WQIhsw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=BmnHOo6I; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="BmnHOo6I" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-439b6d9c981so2018886f8f.1 for ; Sat, 21 Mar 2026 14:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774128280; x=1774733080; darn=vger.kernel.org; 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=PDoqnGw7HDlr9N9BNQ4Al52U7CgdAKtxcFnBIWQyuoc=; b=BmnHOo6Ik6A+19X4ESnxsKuJ9IbYXGJaqPUNvdF1OJCoA9XHUQg9bPe59w0+9oWuY+ ZSWHwb2dP3Uqru/vnK6UzlIIKwKFCG7JTrMbJeUd2AySf151MI5jqYR5KG1Vb/3QuSfD 4fMQZj+nCM5siVY3QvlcGw2pDr3vQf/5I2kq2a2qIB5fVV3CWOaQCZsDabu/PcL/1PTb XHhDegNHWYE33m7oObzHQBM+chlzgYfccOWBBHS5FxFBS08aoXL9NSFw7eHI2Ma8XpY6 ygpa3V1Pn6GGe19IxqWxlv4Zf+WOMNUphE2CFzra6zZmE+pkGHWLngGCww01/JE9gnhC MrKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774128280; x=1774733080; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PDoqnGw7HDlr9N9BNQ4Al52U7CgdAKtxcFnBIWQyuoc=; b=Q5zONX1h58lfvdRx69uO4DIe6jV6iWLHigFrJpl5TSVEWKtdvd3IUF/Hpy6MTxBYM5 oYXkxq+YK6NqpvDL7OJrKs6HhoeUia7l9q8qjBwhY4loWxL3SPdpUFkvMR4U/ONk31I1 YHol5fSZnNB7HtmCnQevkrnn0LgeHnaWVkWaLdy5BDrNiw+G6MTxmc0QGdKDTq1hdgj1 pOlN2rv50JITf7IuJ2gJBOOZTzuV7jN/Mez0vfaV30z0rpxzMEOrx8bj0Y5Jo9MLQrIH IP3E9h0Kls0sC+pks1D7U+n/KoaJNnXKo5l++Sqd3BBGU635hFbAACdTzRG6T5rh9bIw MBDw== X-Forwarded-Encrypted: i=1; AJvYcCURT4u0mk39iOB4WEaBj64sNGacoTlESqZ55PbtkhUtXaSiz0MB4MUpFkRluTEofE9z8zA16Inogtx4xjk=@vger.kernel.org X-Gm-Message-State: AOJu0YyNFUQGBLjvw0UG6iSCvB/TpDa+c0+VAGQkSw7xSTlbZXwVFp9Z dd3R1HQgMNpIrKne3vlIiYXSLLVFR9WLmCxYp5VC77dAVvgG8KyppOVOaG9zQct3s9s= X-Gm-Gg: ATEYQzzT28bYslIf3Fs8OANphQ9ciqiRFmU/NAH3YGRDOdo8wI4hXr92A79q4Hx97ek CN4z/7jyasm2IINtH5GxtRirKf6R1ycF+0svp+5j8WsYgbHxbv8QRrC/qW24oZibxRH3ij0v1JN opVE8B8ESGQ+XFQevduJJxebN8mViaRsvMylAs2SWOD71tI1ERWxAUhCoW8JcFzL3p4n4uMAc6O c42B3IYc0vG+RN7FPe55/pE6/FgxhpNXOx3FW3GwiDcb4fhnC+c1kH53HYU+Zf6lO+412PE381j 6otYaBIecs+rEp63ZfoNndQpuDsKRCFekDeJI8urtiQYdpo5+yRjNme9JUuPXjl+gL1X61tlsd/ ylcdWwJVqmzJizSeMKXgA3n+b2xmt/++wqEY3xT0sA0LSLIZyG5fNoyHAhTAt5Nm+osho7shx8/ 4s04ELrh74eDYYR0UdJHVhX77NG1CW X-Received: by 2002:a05:6000:2011:b0:43b:4909:203c with SMTP id ffacd0b85a97d-43b6427d8c5mr12706193f8f.21.1774128279858; Sat, 21 Mar 2026 14:24:39 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6471a27csm17995499f8f.36.2026.03.21.14.24.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Mar 2026 14:24:39 -0700 (PDT) Date: Sun, 22 Mar 2026 00:24:35 +0300 From: Dan Carpenter To: Omer El Idrissi Cc: gregkh@linuxfoundation.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] staging: rtl8723bs: change error handling to use standard errno Message-ID: References: <20260320072951.54045-1-omer.e.idrissi@gmail.com> <20260321201738.16278-1-omer.e.idrissi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260321201738.16278-1-omer.e.idrissi@gmail.com> On Sat, Mar 21, 2026 at 09:17:38PM +0100, Omer El Idrissi wrote: > Replace non-standard return values with descriptive linux kernel error > codes in probe path. > Also replace the variable name 'status' with 'ret' to be more > consistent with other kernel code. > > Signed-off-by: Omer El Idrissi > > --- > v2: > - Return -ENODEV instead of -ENOMEM when sdio_dvobj_init fails > > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 30 ++++++++++++-------- > 1 file changed, 18 insertions(+), 12 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > index d664e254912c..47189c849b05 100644 > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > @@ -345,38 +345,44 @@ static int rtw_drv_init( > struct sdio_func *func, > const struct sdio_device_id *id) > { > - int status = _FAIL; > + int ret; > struct adapter *if1 = NULL; > struct dvobj_priv *dvobj; > > dvobj = sdio_dvobj_init(func); > - if (!dvobj) > + if (!dvobj) { > + ret = -ENODEV; > goto exit; > + } > > if1 = rtw_sdio_if1_init(dvobj, id); > - if (!if1) > + if (!if1) { > + ret = -ENOMEM; > goto free_dvobj; > + } > > /* dev_alloc_name && register_netdev */ > - status = rtw_drv_register_netdev(if1); > - if (status != _SUCCESS) > + ret = rtw_drv_register_netdev(if1); > + if (ret) { > + ret = -EIO; > goto free_if1; > + } rtw_drv_register_netdev() doesn't return regular error codes but when you change: - if (status != _SUCCESS) { + if (ret) { Then you're making it look like it does, which is confusing. You're going about this the wrong way. You need to start with functions like _rtw_drv_register_netdev() which are where the _SUCCESS returns are first returned and change those first. You have to update the callers as you go. It's tricky because you have to be sure you're catching all the callers. Then eventually, you'll get back to rtw_drv_init() and all the functions it call will return normal error codes and you can update that. Do it one function at a time. Update the function and the callers. Something like this: regards, dan carpenter [patch] update error code for rtw_init_netdev_name() The rtw_init_netdev_name() returns 1 on failure and 0 on success which is non-standard. Change it to propagate the error from dev_alloc_name() and update the only caller. diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index 7ba689f2dfc8..92b52b1a2920 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -407,9 +407,12 @@ static const struct net_device_ops rtw_netdev_ops = { int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname) { - if (dev_alloc_name(pnetdev, ifname) < 0) { + int ret; + + ret = dev_alloc_name(pnetdev, ifname); + if (ret < 0) { pr_err("dev_alloc_name, fail for %s\n", ifname); - return 1; + return ret; } netif_carrier_off(pnetdev); /* rtw_netif_stop_queue(pnetdev); */ @@ -755,7 +758,8 @@ static int _rtw_drv_register_netdev(struct adapter *padapter, char *name) struct net_device *pnetdev = padapter->pnetdev; /* alloc netdev name */ - if (rtw_init_netdev_name(pnetdev, name)) + ret = rtw_init_netdev_name(pnetdev, name); + if (ret) return _FAIL; eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);