]> err.no Git - linux-2.6/commitdiff
Revert "pkt_sched: Add BH protection for qdisc_stab_lock."
authorDavid S. Miller <davem@davemloft.net>
Tue, 19 Aug 2008 05:33:05 +0000 (22:33 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Aug 2008 05:33:05 +0000 (22:33 -0700)
This reverts commit 1cfa26661a85549063e369e2b40275eeaa7b923c.

qdisc_destroy() runs fully under RTNL again and not from softint any
longer, so this change is no longer needed.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_api.c

index 9372ec41ce844b6c6a5b58f89b41e21459587263..ef0efeca63521600fc7cf3cbfde0f858b5454c83 100644 (file)
@@ -332,7 +332,7 @@ static struct qdisc_size_table *qdisc_get_stab(struct nlattr *opt)
        if (!s || tsize != s->tsize || (!tab && tsize > 0))
                return ERR_PTR(-EINVAL);
 
-       spin_lock_bh(&qdisc_stab_lock);
+       spin_lock(&qdisc_stab_lock);
 
        list_for_each_entry(stab, &qdisc_stab_list, list) {
                if (memcmp(&stab->szopts, s, sizeof(*s)))
@@ -340,11 +340,11 @@ static struct qdisc_size_table *qdisc_get_stab(struct nlattr *opt)
                if (tsize > 0 && memcmp(stab->data, tab, tsize * sizeof(u16)))
                        continue;
                stab->refcnt++;
-               spin_unlock_bh(&qdisc_stab_lock);
+               spin_unlock(&qdisc_stab_lock);
                return stab;
        }
 
-       spin_unlock_bh(&qdisc_stab_lock);
+       spin_unlock(&qdisc_stab_lock);
 
        stab = kmalloc(sizeof(*stab) + tsize * sizeof(u16), GFP_KERNEL);
        if (!stab)
@@ -355,9 +355,9 @@ static struct qdisc_size_table *qdisc_get_stab(struct nlattr *opt)
        if (tsize > 0)
                memcpy(stab->data, tab, tsize * sizeof(u16));
 
-       spin_lock_bh(&qdisc_stab_lock);
+       spin_lock(&qdisc_stab_lock);
        list_add_tail(&stab->list, &qdisc_stab_list);
-       spin_unlock_bh(&qdisc_stab_lock);
+       spin_unlock(&qdisc_stab_lock);
 
        return stab;
 }
@@ -367,14 +367,14 @@ void qdisc_put_stab(struct qdisc_size_table *tab)
        if (!tab)
                return;
 
-       spin_lock_bh(&qdisc_stab_lock);
+       spin_lock(&qdisc_stab_lock);
 
        if (--tab->refcnt == 0) {
                list_del(&tab->list);
                kfree(tab);
        }
 
-       spin_unlock_bh(&qdisc_stab_lock);
+       spin_unlock(&qdisc_stab_lock);
 }
 EXPORT_SYMBOL(qdisc_put_stab);