alx: fix missing unlock on error in alx_set_pauseparam()
authorPu Lehui <pulehui@huawei.com>
Fri, 14 May 2021 08:24:05 +0000 (16:24 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 May 2021 22:10:51 +0000 (15:10 -0700)
Add the missing unlock before return from function alx_set_pauseparam()
in the error handling case.

Fixes: 4a5fe57e7751 ("alx: use fine-grained locking instead of RTNL")
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/atheros/alx/ethtool.c

index f362715..b716ada 100644 (file)
@@ -253,8 +253,10 @@ static int alx_set_pauseparam(struct net_device *netdev,
 
        if (reconfig_phy) {
                err = alx_setup_speed_duplex(hw, hw->adv_cfg, fc);
-               if (err)
+               if (err) {
+                       mutex_unlock(&alx->mtx);
                        return err;
+               }
        }
 
        /* flow control on mac */