Re: possibly bug in 8139cp? (WAS Re: BUG: 2.4.23-pre3 + ifconfig)

From: Jeff Garzik
Date: Mon Sep 08 2003 - 19:42:52 EST


Andrew Morton wrote:
The only thing it can break is tg3, which appears to be placing a competing
interpretation upon the handling of this flag.


Right, so, don't break tg3 :) The patch I posted doesn't do the _and_set, which tg3 needs. netif_poll_{enable,disable} control whether the net stack may call the dev->poll() function. tg3 asynchronously disables polling, resets the phy and/or hardware, then enables polling again.

I thought I had a check in there for when it was contending with dev_close(), but I'll look again. The hardware/phy reset should continue to occur regardless of dev_close() -- that's ok. During this event, all rx/tx is already stopped anyway. So we can let ifdown/ifup events occur in parallel... carefully. :)

Ideally we want to present a machine that's asynchronously managing its power state and various functions. dev->open() and dev->close() events become just two more "major events."

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/