diff options
author | Brian Cavagnolo <brian@cozybit.com> | 2009-01-17 06:04:49 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-22 21:55:00 +0300 |
commit | 5dc306f3bd1d4cfdf79df39221b3036eab1ddcf3 (patch) | |
tree | 321bf9aa946024bdb171a9b1180dc0f73158dcba /net/mac80211 | |
parent | 6d317482944250228255bcbe97a95b7e7ad9a538 (diff) | |
download | linux-5dc306f3bd1d4cfdf79df39221b3036eab1ddcf3.tar.xz |
mac80211: decrement ref count to netdev after launching mesh discovery
After launching mesh discovery in tx path, reference count was not being
decremented. This was preventing module unload.
Signed-off-by: Brian Cavagnolo <brian@cozybit.com>
Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/tx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index a4af3a124cce..4278e545638f 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1307,8 +1307,10 @@ int ieee80211_master_start_xmit(struct sk_buff *skb, struct net_device *dev) if (is_multicast_ether_addr(hdr->addr3)) memcpy(hdr->addr1, hdr->addr3, ETH_ALEN); else - if (mesh_nexthop_lookup(skb, osdata)) - return 0; + if (mesh_nexthop_lookup(skb, osdata)) { + dev_put(odev); + return 0; + } if (memcmp(odev->dev_addr, hdr->addr4, ETH_ALEN) != 0) IEEE80211_IFSTA_MESH_CTR_INC(&osdata->u.mesh, fwded_frames); |