On Sunday 10 June 2007 03:52, Jeff Garzik wrote: > Mithlesh Thukral wrote: > > - if ((netif_running(netdev)) && !netif_carrier_ok(netdev)) { > > - printk(KERN_INFO "%s port %d, %s carrier is now ok\n", > > - netxen_nic_driver_name, adapter->portnum, netdev->name); > > + if ((netdev->flags & IFF_UP) && !netif_carrier_ok(netdev) && > > + netxen_nic_link_ok(adapter) ) { > > + printk(KERN_INFO "%s %s (port %d), Link is up\n", > > + netxen_nic_driver_name, netdev->name, > > adapter->portnum); > > netif_carrier_on(netdev); > > - } > > - > > - if (netif_queue_stopped(netdev)) > > netif_wake_queue(netdev); > > + } else if(!(netdev->flags & IFF_UP) && netif_carrier_ok(netdev)) { > > + printk(KERN_ERR "%s %s Link is Down\n", > > + netxen_nic_driver_name, netdev->name); > > + netif_carrier_off(netdev); > > + netif_stop_queue(netdev); > > Most of the patch is OK, but by substituting IFF_UP tests for > netif_running(), you are removing race-free, correct tests and replacing > them with incorrect, racy tests. > > NAK the IFF_UP changes. the rest looks OK. I will rework the IFF_UP tests using netif_running(), test and resubmit the patches again.
Thanks, Mithlesh Thukral > > Jeff - 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