From: Akinobu Mita Date: Fri, 16 Nov 2012 20:39:49 +0000 (+0000) Subject: sctp: use bitmap_weight X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=fc184f089220f7abd604993d7c69218603c2ffb2;p=linux-beck.git sctp: use bitmap_weight Use bitmap_weight to count the total number of bits set in bitmap. Signed-off-by: Akinobu Mita Cc: Vlad Yasevich Cc: Sridhar Samudrala Cc: linux-sctp@vger.kernel.org Cc: netdev@vger.kernel.org Acked-by: Vlad Yasevich Signed-off-by: David S. Miller --- diff --git a/net/sctp/tsnmap.c b/net/sctp/tsnmap.c index b5fb7c409023..5f25e0c92c31 100644 --- a/net/sctp/tsnmap.c +++ b/net/sctp/tsnmap.c @@ -272,7 +272,7 @@ __u16 sctp_tsnmap_pending(struct sctp_tsnmap *map) __u32 max_tsn = map->max_tsn_seen; __u32 base_tsn = map->base_tsn; __u16 pending_data; - u32 gap, i; + u32 gap; pending_data = max_tsn - cum_tsn; gap = max_tsn - base_tsn; @@ -280,11 +280,7 @@ __u16 sctp_tsnmap_pending(struct sctp_tsnmap *map) if (gap == 0 || gap >= map->len) goto out; - for (i = 0; i < gap+1; i++) { - if (test_bit(i, map->tsn_map)) - pending_data--; - } - + pending_data -= bitmap_weight(map->tsn_map, gap + 1); out: return pending_data; }