From ffc0ed3be470de19cea33c11ece9508fbc089107 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Thu, 30 Sep 2010 22:17:43 +0200 Subject: [PATCH] --- yaml --- r: 214989 b: refs/heads/master c: 2234362c427e2ef667595b9b81c0125003ac5607 h: refs/heads/master i: 214987: 29569b7c5627d3913f47e1df94e8d5bd814314e8 v: v3 --- [refs] | 2 +- trunk/net/wireless/nl80211.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 5cba5eed545e..2098971e53c0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b1ae1edf9e9872d3aa657cc34ae40c9aadfbc72f +refs/heads/master: 2234362c427e2ef667595b9b81c0125003ac5607 diff --git a/trunk/net/wireless/nl80211.c b/trunk/net/wireless/nl80211.c index cbbbe9ab452f..21061ccee557 100644 --- a/trunk/net/wireless/nl80211.c +++ b/trunk/net/wireless/nl80211.c @@ -821,11 +821,13 @@ static int nl80211_set_channel(struct sk_buff *skb, struct genl_info *info) result = get_rdev_dev_by_info_ifindex(info, &rdev, &netdev); if (result) - goto unlock; + goto unlock_rtnl; result = __nl80211_set_channel(rdev, netdev->ieee80211_ptr, info); - unlock: + dev_put(netdev); + cfg80211_unlock_rdev(rdev); + unlock_rtnl: rtnl_unlock(); return result; @@ -5097,7 +5099,7 @@ static int nl80211_set_cqm_rssi(struct genl_info *info, err = get_rdev_dev_by_info_ifindex(info, &rdev, &dev); if (err) - goto unlock_rdev; + goto unlock_rtnl; wdev = dev->ieee80211_ptr; @@ -5115,9 +5117,10 @@ static int nl80211_set_cqm_rssi(struct genl_info *info, err = rdev->ops->set_cqm_rssi_config(wdev->wiphy, dev, threshold, hysteresis); -unlock_rdev: + unlock_rdev: cfg80211_unlock_rdev(rdev); dev_put(dev); + unlock_rtnl: rtnl_unlock(); return err;