Przeglądaj źródła

ieee802154: hwsim: fix missing unlock on error in hwsim_add_one()

Add the missing unlock before return from function hwsim_add_one()
in the error handling case.

Fixes: f25da51fdc38 ("ieee802154: hwsim: add replacement for fakelb")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Wei Yongjun 7 lat temu
rodzic
commit
13403d6952
1 zmienionych plików z 3 dodań i 1 usunięć
  1. 3 1
      drivers/net/ieee802154/mac802154_hwsim.c

+ 3 - 1
drivers/net/ieee802154/mac802154_hwsim.c

@@ -817,8 +817,10 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev,
 	mutex_lock(&hwsim_phys_lock);
 	mutex_lock(&hwsim_phys_lock);
 	if (init) {
 	if (init) {
 		err = hwsim_subscribe_all_others(phy);
 		err = hwsim_subscribe_all_others(phy);
-		if (err < 0)
+		if (err < 0) {
+			mutex_unlock(&hwsim_phys_lock);
 			goto err_reg;
 			goto err_reg;
+		}
 	}
 	}
 	list_add_tail(&phy->list, &hwsim_phys);
 	list_add_tail(&phy->list, &hwsim_phys);
 	mutex_unlock(&hwsim_phys_lock);
 	mutex_unlock(&hwsim_phys_lock);