Oliver Neukum <oliver@xxxxxxxxxx> writes: > Am Mittwoch, 13. Juni 2012, 06:47:18 schrieb Ming Lei: >> On Wed, Jun 13, 2012 at 10:12 AM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: >> > On Wed, Jun 13, 2012 at 2:14 AM, Oliver Neukum <oliver@xxxxxxxxxx> wrote: >> >> Am Dienstag, 12. Juni 2012, 03:19:42 schrieb Ming Lei: >> >>> EVENT_DEV_OPEN is introduced to mark if the interface is opened or >> >>> not, but we already have IFF_UP to handle it, so just >> >>> remove the flag and use IFF_UP. >> >> >> >> When is IFF_UP cleared? The flag is tested in usbnet_resume(), >> > >> > The flag is cleared just after usbnet_stop completes. >> >> Looks we can use the below to replace EVENT_DEV_OPEN: >> >> (netif_running((dev)->net) && ((dev)->net->flags & IFF_UP)) > > That goes down a bit into the interna of the network code. > If we do this, please encapsulated and with a big fat comment. There are already plenty of places in usbnet.c where netif_running(dev->net) is tested instead of EVENT_DEV_OPEN. Why should the test in usbnet_resume be any different? The only reason I see is that some devices might want to keep interrupts running without the netdev being up, but the current code doesn't support that anyway. So better implement it when there is a device and driver needing it. BTW, does the "&& (dev->net->flags & IFF_UP)" really make any difference, or could the test be simplified to (netif_running(dev->net)) Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html