[PATCH 21/21] staging: ks7010: init local variables when they are declared in ks7010_sdio_probe

Dan Carpenter dan.carpenter at oracle.com
Mon Apr 23 12:45:52 UTC 2018


On Thu, Apr 19, 2018 at 07:08:15AM +0200, Sergio Paracuellos wrote:
> This commit change init point of two variables to forward them to
> init time. This variables are just being assigned some lines after
> and it is more clear to init them when the init value is known and
> in this case this is known when they are declared.
> 
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos at gmail.com>
> ---
>  drivers/staging/ks7010/ks7010_sdio.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
> index 11839af..18e2350 100644
> --- a/drivers/staging/ks7010/ks7010_sdio.c
> +++ b/drivers/staging/ks7010/ks7010_sdio.c
> @@ -981,14 +981,11 @@ static void ks7010_private_init(struct ks_wlan_private *priv,
>  static int ks7010_sdio_probe(struct sdio_func *func,
>  			     const struct sdio_device_id *device)
>  {
> -	struct ks_wlan_private *priv;
> +	struct ks_wlan_private *priv = NULL;
> +	struct net_device *netdev = NULL;
>  	struct ks_sdio_card *card;
> -	struct net_device *netdev;
>  	int ret;
>  
> -	priv = NULL;
> -	netdev = NULL;

It's better if we don't initialize these at all.  There is a bug here
and GCC finds it when these aren't initialized to bogus values:

drivers/staging/ks7010/ks7010_sdio.c: In function ‘ks7010_sdio_probe’:
drivers/staging/ks7010/ks7010_sdio.c:932:2: warning: ‘priv’ may be used uninitialized in this function [-Wmaybe-uninitialized]

regards,
dan carpenter



More information about the devel mailing list