mac802154: fix ieee802154_register_hw error handling
authorAlexander Aring <alex.aring@gmail.com>
Thu, 30 Apr 2015 15:44:53 +0000 (17:44 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 30 Apr 2015 16:46:21 +0000 (18:46 +0200)
Currently if ieee802154_if_add failed, we don't unregister the wpan phy
which was registered before. This patch adds a correct error handling
for unregister the wpan phy when ieee802154_if_add failed.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/mac802154/main.c

index 8500378c8318cd3b5b7e3a368f44080b40c5900f..beece7b7a776c2193187bf9d7c91727a4dfcd62c 100644 (file)
@@ -166,13 +166,15 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
        if (IS_ERR(dev)) {
                rtnl_unlock();
                rc = PTR_ERR(dev);
-               goto out_wq;
+               goto out_phy;
        }
 
        rtnl_unlock();
 
        return 0;
 
+out_phy:
+       wpan_phy_unregister(local->phy);
 out_wq:
        destroy_workqueue(local->workqueue);
 out: