[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <609E5817.8090000@gmail.com>
Date: Fri, 14 May 2021 13:59:35 +0300
From: Nikolai Zhubr <zhubr.2@...il.com>
To: Johannes Berg <johannes@...solutions.net>
CC: netdev@...r.kernel.org
Subject: Re: [PATCH net-next] alx: use fine-grained locking instead of RTNL
Hi Johannes,
12.05.2021 13:19, Johannes Berg:
> In the alx driver, all locking depended on the RTNL, but
[...]
> @@ -232,7 +240,7 @@ static int alx_set_pauseparam(struct net_device *netdev,
> if (pause->autoneg)
> fc |= ALX_FC_ANEG;
>
> - ASSERT_RTNL();
> + mutex_lock(&alx->mtx);
>
> /* restart auto-neg for auto-mode */
> if (hw->adv_cfg& ADVERTISED_Autoneg) {
> @@ -254,6 +262,7 @@ static int alx_set_pauseparam(struct net_device *netdev,
> alx_cfg_mac_flowcontrol(hw, fc);
>
> hw->flowctrl = fc;
> + mutex_unlock(&alx->mtx);
>
> return 0;
> }
Isn't this fragment missing a mutex_unlock(&alx->mtx) for the "return
err" codepath in the middle? I'm not sure, its like very suspicious,
please have a look.
Thank you,
Regards,
Nikolai
Powered by blists - more mailing lists