aboutsummaryrefslogtreecommitdiff
path: root/net/mac80211
diff options
context:
space:
mode:
authorGravatar Matthew Wilcox <mawilcox@microsoft.com> 2016-12-22 13:30:22 -0500
committerGravatar Matthew Wilcox <mawilcox@microsoft.com> 2017-02-13 21:44:03 -0500
commitd3e709e63e97e5f3f129b639991cfe266da60bae (patch)
tree78647f4029b9e83087fefa19144a689f6909f8d2 /net/mac80211
parentradix tree test suite: Build separate binaries for some tests (diff)
downloadlinux-d3e709e63e97e5f3f129b639991cfe266da60bae.tar.gz
linux-d3e709e63e97e5f3f129b639991cfe266da60bae.tar.bz2
linux-d3e709e63e97e5f3f129b639991cfe266da60bae.zip
idr: Return the deleted entry from idr_remove
It is a relatively common idiom (8 instances) to first look up an IDR entry, and then remove it from the tree if it is found, possibly doing further operations upon the entry afterwards. If we change idr_remove() to return the removed object, all of these users can save themselves a walk of the IDR tree. Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/status.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index ddf71c648cab..43dd3316d8a4 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -462,9 +462,7 @@ static void ieee80211_report_ack_skb(struct ieee80211_local *local,
unsigned long flags;
spin_lock_irqsave(&local->ack_status_lock, flags);
- skb = idr_find(&local->ack_status_frames, info->ack_frame_id);
- if (skb)
- idr_remove(&local->ack_status_frames, info->ack_frame_id);
+ skb = idr_remove(&local->ack_status_frames, info->ack_frame_id);
spin_unlock_irqrestore(&local->ack_status_lock, flags);
if (!skb)