-       br_fdb_delete_by_port(br, p);
-       kfree(p);
-       dev_put(dev);
-
-       return 0;
+       /* defer actual free till after receive BH has completed */
+       call_rcu(&p->rcu, (void (*)(void *)) kfree, p);
 }
Missing dev_put? Perhaps you'd want to register a callback which also 
decrements the reference count.
	Zwane
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/