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