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 <weiyongj...@huawei.com>
---
 drivers/net/ieee802154/mac802154_hwsim.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ieee802154/mac802154_hwsim.c 
b/drivers/net/ieee802154/mac802154_hwsim.c
index f4e9205..44d398c 100644
--- a/drivers/net/ieee802154/mac802154_hwsim.c
+++ b/drivers/net/ieee802154/mac802154_hwsim.c
@@ -810,8 +810,10 @@ static int hwsim_add_one(struct genl_info *info, struct 
device *dev,
        mutex_lock(&hwsim_phys_lock);
        if (init) {
                err = hwsim_subscribe_all_others(phy);
-               if (err < 0)
+               if (err < 0) {
+                       mutex_unlock(&hwsim_phys_lock);
                        goto err_reg;
+               }
        }
        list_add_tail(&phy->list, &hwsim_phys);
        mutex_unlock(&hwsim_phys_lock);

Reply via email to