2011/11/22 David Decotigny <[email protected]>: [...] > diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c > b/drivers/net/ethernet/intel/e1000e/netdev.c > index a5bd7a3..b63f316 100644 > --- a/drivers/net/ethernet/intel/e1000e/netdev.c > +++ b/drivers/net/ethernet/intel/e1000e/netdev.c > @@ -5901,24 +5901,28 @@ static void e1000_eeprom_checks(struct e1000_adapter > *adapter) > } > > static int e1000_set_features(struct net_device *netdev, > - netdev_features_t features) > + netdev_features_t features) > { > struct e1000_adapter *adapter = netdev_priv(netdev); > netdev_features_t changed = features ^ netdev->features; > + int retval = 1; /* telling netdev that we are updating > + * netdev->features by ourselves */ > + > + netdev->features = features; > > if (changed & (NETIF_F_TSO | NETIF_F_TSO6)) > adapter->flags |= FLAG_TSO_FORCE; > > if (!(changed & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX | > NETIF_F_RXCSUM))) > - return 0; > + return retval; >
Would be less code if you set netdev->features here... > if (netif_running(netdev)) > e1000e_reinit_locked(adapter); > else > e1000e_reset(adapter); > > - return 0; > + return retval; ... and return 1 here, noting in a comment that e1000e_reinit_locked() might have changed netdev->features. > } Best Regards, Michał Mirosław ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
