From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5592E54910; Tue, 5 Mar 2024 11:32:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.187 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709638363; cv=none; b=iumTygfy42Lz7J3QtmAL+0gK/eIfPhoxqDZNvu4SSgiQ+YxmdQnN74XT5Zyhiq1U2o2nsMZBpXMdMLHyriWrvySjmvfhZTycv/ljnqHlz6I+UCXwfN5DKHdQtG2c2VO3oD7IOfoyb0slAfXqX/R7EJJVXYP9VqN4r5JD9KOVtBk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709638363; c=relaxed/simple; bh=bKHVK+OXGBs240XYEAacLsUkQ/bCj0REuSU/eEAptk0=; h=Message-ID:Date:MIME-Version:CC:Subject:To:References:From: In-Reply-To:Content-Type; b=eO6VKIjXasyiqtkL8Jd4Wh7Zc/m1m36PMQZmPfXo5gQ2m+xTGxxAk8Gf7Szl1z7tMfCfJ02bVOYHXF2uI8CGUGqzhw4PIQpnLfP9eHxkBH6wY4KijN5bNgi8zNAfgwdE6BxH4VMAiFJHTK7THfc3whgVaFVkml1UMvz1wisUD1w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.187 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.174]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Tptf338WYzwPFD; Tue, 5 Mar 2024 19:30:19 +0800 (CST) Received: from kwepemm600007.china.huawei.com (unknown [7.193.23.208]) by mail.maildlp.com (Postfix) with ESMTPS id DB44D1400C8; Tue, 5 Mar 2024 19:32:35 +0800 (CST) Received: from [10.67.120.192] (10.67.120.192) by kwepemm600007.china.huawei.com (7.193.23.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 5 Mar 2024 19:32:35 +0800 Message-ID: Date: Tue, 5 Mar 2024 19:32:34 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird CC: , LKML Subject: Re: [PATCH] net: hns: Use common error handling code in hns_mac_init() To: Markus Elfring , , , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Salil Mehta , Wojciech Drewek , Yisen Zhuang , Yonglong Liu References: <9a2e5053-07ec-4a11-bef4-7a8b0f80f740@web.de> From: Jijie Shao In-Reply-To: <9a2e5053-07ec-4a11-bef4-7a8b0f80f740@web.de> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemm600007.china.huawei.com (7.193.23.208) Thanks, Reviewed-by: Jijie Shao on 2024/3/1 23:04, Markus Elfring wrote: > From: Markus Elfring > Date: Fri, 1 Mar 2024 15:48:25 +0100 > > Add a jump target so that a bit of exception handling can be better reused > at the end of this function implementation. > > Signed-off-by: Markus Elfring > --- > drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c > index f75668c47935..a4919aad45b6 100644 > --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c > +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c > @@ -1094,22 +1094,21 @@ int hns_mac_init(struct dsaf_device *dsaf_dev) > device_for_each_child_node(dsaf_dev->dev, child) { > ret = fwnode_property_read_u32(child, "reg", &port_id); > if (ret) { > - fwnode_handle_put(child); > dev_err(dsaf_dev->dev, > "get reg fail, ret=%d!\n", ret); > - return ret; > + goto put_fwnode; > } > if (port_id >= max_port_num) { > - fwnode_handle_put(child); > dev_err(dsaf_dev->dev, > "reg(%u) out of range!\n", port_id); > - return -EINVAL; > + ret = -EINVAL; > + goto put_fwnode; > } > mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), > GFP_KERNEL); > if (!mac_cb) { > - fwnode_handle_put(child); > - return -ENOMEM; > + ret = -ENOMEM; > + goto put_fwnode; > } > mac_cb->fw_port = child; > mac_cb->mac_id = (u8)port_id; > @@ -1148,6 +1147,10 @@ int hns_mac_init(struct dsaf_device *dsaf_dev) > } > > return 0; > + > +put_fwnode: > + fwnode_handle_put(child); > + return ret; > } > > void hns_mac_uninit(struct dsaf_device *dsaf_dev) > -- > 2.44.0 >