diff options
author | Alexander Aring <alex.aring@gmail.com> | 2015-04-30 11:44:53 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-04-30 12:46:21 -0400 |
commit | 2b4d413c3871af0f2ccd466fb6581ed2c2d89438 (patch) | |
tree | b771b12b196f1e9cc75524fb7e27b36d91901d3e | |
parent | d24d81444f8caf1895256ef2d2e89ae8202a17e4 (diff) |
mac802154: fix ieee802154_register_hw error handling
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>
-rw-r--r-- | net/mac802154/main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac802154/main.c b/net/mac802154/main.c index 8500378c8318..beece7b7a776 100644 --- a/net/mac802154/main.c +++ b/net/mac802154/main.c | |||
@@ -166,13 +166,15 @@ int ieee802154_register_hw(struct ieee802154_hw *hw) | |||
166 | if (IS_ERR(dev)) { | 166 | if (IS_ERR(dev)) { |
167 | rtnl_unlock(); | 167 | rtnl_unlock(); |
168 | rc = PTR_ERR(dev); | 168 | rc = PTR_ERR(dev); |
169 | goto out_wq; | 169 | goto out_phy; |
170 | } | 170 | } |
171 | 171 | ||
172 | rtnl_unlock(); | 172 | rtnl_unlock(); |
173 | 173 | ||
174 | return 0; | 174 | return 0; |
175 | 175 | ||
176 | out_phy: | ||
177 | wpan_phy_unregister(local->phy); | ||
176 | out_wq: | 178 | out_wq: |
177 | destroy_workqueue(local->workqueue); | 179 | destroy_workqueue(local->workqueue); |
178 | out: | 180 | out: |