Re: [PATCH net-next] net: aquantia: return 'err' if set MPI_DEINIT state fails

From: David Miller
Date: Tue Nov 27 2018 - 18:25:42 EST

From: YueHaibing <yuehaibing@xxxxxxxxxx>
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 <yuehaibing@xxxxxxxxxx>


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.