From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next] net: aquantia: return 'err' if set MPI_DEINIT state fails Date: Tue, 27 Nov 2018 15:25:39 -0800 (PST) Message-ID: <20181127.152539.1127313634090592618.davem@davemloft.net> References: <20181124101641.7072-1-yuehaibing@huawei.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: igor.russkikh@aquantia.com, nikita.danilov@aquantia.com, yana.esina@aquantia.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org To: yuehaibing@huawei.com Return-path: In-Reply-To: <20181124101641.7072-1-yuehaibing@huawei.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: YueHaibing Date: Sat, 24 Nov 2018 18:16:41 +0800 > Fixes gcc '-Wunused-but-set-variable' warning: > > drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c:260:7: > warning: variable 'err' set but not used [-Wunused-but-set-variable] > > 'err' should be returned while set MPI_DEINIT state fails > in hw_atl_utils_soft_reset. > > Fixes: cce96d1883da ("net: aquantia: Regression on reset with 1.x firmware") > Signed-off-by: YueHaibing Applied. But this AQ_HW_STATE_FOR macro _MUST_ be fixed. No macro should have invisible references to variables like this, and that is exactly what leads to bugs like this. CPP macros written this way make it impossible to properly audit code. 'err' should be an explicit argument given to this function instead of how it works now.