Subject: Re: [PATCH net] net: dsa: microchip: initialize mutex before use

From: Andrew Lunn <[email-masked]>
Date: Wed, 31 Oct 2018 02:21:52 +0100

On Tue, Oct 30, 2018 at 04:45:49PM -0700, [email-masked] wrote:
> From: Tristram Ha <[email-masked]>
> 
> Initialize mutex before use.  Avoid kernel complaint when
> CONFIG_DEBUG_LOCK_ALLOC is enabled.
> 
> Fixes: b987e98e50ab90e5 ("dsa: add DSA switch driver for Microchip KSZ9477")
> Signed-off-by: Tristram Ha <[email-masked]>
> ---
>  drivers/net/dsa/microchip/ksz_common.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
> index 54e0ca6..f6f0662 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -1117,11 +1117,6 @@ static int ksz_switch_init(struct ksz_device *dev)
>  {
>  	int i;
>  
> -	mutex_init(&dev->reg_mutex);
> -	mutex_init(&dev->stats_mutex);
> -	mutex_init(&dev->alu_mutex);
> -	mutex_init(&dev->vlan_mutex);
> -
>  	dev->ds->ops = &ksz_switch_ops;
>  
>  	for (i = 0; i < ARRAY_SIZE(ksz_switch_chips); i++) {
> @@ -1206,6 +1201,12 @@ int ksz_switch_register(struct ksz_device *dev)
>  	if (dev->pdata)
>  		dev->chip_id = dev->pdata->chip_id;
>  
> +	/* mutex is used in next function call. */
> +	mutex_init(&dev->reg_mutex);
> +	mutex_init(&dev->stats_mutex);
> +	mutex_init(&dev->alu_mutex);
> +	mutex_init(&dev->vlan_mutex);

Hi Tristram

The comment is no longer relevant now that all mutexes are
initialised.

	Andrew