X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fsched%2Fact_csum.c;h=8b1d65772a8dfee6345bae94328780ace0384dcd;hb=56a4342dfe3145cd66f766adccb28fd9b571606d;hp=11fe1a416433f1fe2ea46c86ee753826e523b716;hpb=fe0d692bbc645786bce1a98439e548ae619269f5;p=~andy%2Flinux diff --git a/net/sched/act_csum.c b/net/sched/act_csum.c index 11fe1a41643..8b1d65772a8 100644 --- a/net/sched/act_csum.c +++ b/net/sched/act_csum.c @@ -37,15 +37,8 @@ #include #define CSUM_TAB_MASK 15 -static struct tcf_common *tcf_csum_ht[CSUM_TAB_MASK + 1]; static u32 csum_idx_gen; -static DEFINE_RWLOCK(csum_lock); - -static struct tcf_hashinfo csum_hash_info = { - .htab = tcf_csum_ht, - .hmask = CSUM_TAB_MASK, - .lock = &csum_lock, -}; +static struct tcf_hashinfo csum_hash_info; static const struct nla_policy csum_policy[TCA_CSUM_MAX + 1] = { [TCA_CSUM_PARMS] = { .len = sizeof(struct tc_csum), }, @@ -593,6 +586,10 @@ MODULE_LICENSE("GPL"); static int __init csum_init_module(void) { + int err = tcf_hashinfo_init(&csum_hash_info, CSUM_TAB_MASK); + if (err) + return err; + return tcf_register_action(&act_csum_ops); }