diff options
Diffstat (limited to 'net/sched/sch_gred.c')
| -rw-r--r-- | net/sched/sch_gred.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c index a661b062cca8..872d127c9db4 100644 --- a/net/sched/sch_gred.c +++ b/net/sched/sch_gred.c @@ -377,6 +377,7 @@ static int gred_offload_dump_stats(struct Qdisc *sch)  	/* Even if driver returns failure adjust the stats - in case offload  	 * ended but driver still wants to adjust the values.  	 */ +	sch_tree_lock(sch);  	for (i = 0; i < MAX_DPs; i++) {  		if (!table->tab[i])  			continue; @@ -393,6 +394,7 @@ static int gred_offload_dump_stats(struct Qdisc *sch)  		sch->qstats.overlimits += hw_stats->stats.qstats[i].overlimits;  	}  	_bstats_update(&sch->bstats, bytes, packets); +	sch_tree_unlock(sch);  	kfree(hw_stats);  	return ret;  | 
