diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-06-23 00:32:03 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-23 11:48:19 -0700 |
commit | 8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7 (patch) | |
tree | ad5d96e60d1ff4e91f5b23d7ae13884581ae2441 /include/net/snmp.h | |
parent | 8ceedea7c2600a1018d20f67e766c0773b59391a (diff) | |
download | linux-stable-8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7.tar.gz linux-stable-8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7.tar.bz2 linux-stable-8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7.zip |
snmp: fix SNMP_ADD_STATS()
commit aa2ea0586d9d (tcp: fix outsegs stat for TSO segments) incorrectly
assumed SNMP_ADD_STATS() was used from BH context.
Fix this using mib[!in_softirq()] instead of mib[0]
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/snmp.h')
-rw-r--r-- | include/net/snmp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/snmp.h b/include/net/snmp.h index 92456f1035f5..899003d18db9 100644 --- a/include/net/snmp.h +++ b/include/net/snmp.h @@ -134,7 +134,7 @@ struct linux_xfrm_mib { #define SNMP_ADD_STATS_USER(mib, field, addend) \ this_cpu_add(mib[1]->mibs[field], addend) #define SNMP_ADD_STATS(mib, field, addend) \ - this_cpu_add(mib[0]->mibs[field], addend) + this_cpu_add(mib[!in_softirq()]->mibs[field], addend) /* * Use "__typeof__(*mib[0]) *ptr" instead of "__typeof__(mib[0]) ptr" * to make @ptr a non-percpu pointer. |