Andy Gospodarek <[EMAIL PROTECTED]> wrote: > > Jay's patches will not fix this issue. I think something like this did > it for me, but as I mentioned to Jay in the last thread, I'm not > convinced it doesn't violate some of the locking expectations we have. > > diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c > index 423298c..3c6619a 100644 > --- a/drivers/net/bonding/bond_main.c > +++ b/drivers/net/bonding/bond_main.c > @@ -3915,7 +3915,7 @@ static void bond_set_multicast_list(struct net_device > *bond_dev) > struct bonding *bond = bond_dev->priv; > struct dev_mc_list *dmi; > > - write_lock_bh(&bond->lock); > + read_lock(&bond->lock);
This is wrong. As I said before, the correct fix (until set_multicast no longer gets called from BH context) is to change all you process context read_lock's to read_lock_bh. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html