Thread (5 messages) flat view 5 messages, 3 authors, 2021-05-14

Re: [PATCH net-next] alx: use fine-grained locking instead of RTNL

From: Nikolai Zhubr <hidden>
Date: 2021-05-14 10:49:52

Hi Johannes,

12.05.2021 13:19, Johannes Berg:
In the alx driver, all locking depended on the RTNL, but
[...]
quoted hunk ↗ jump to hunk
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help