On Thu, May 12, 2011 at 07:59:45AM +0200, MichaÅ MirosÅaw wrote: > 2011/5/12 <frank.blaschka@xxxxxxxxxx>: > > From: Frank Blaschka <frank.blaschka@xxxxxxxxxx> > > > > Set rx csum default to hw checksumming again. > > Remove sysfs interface for rx csum (checksumming) and TSO (large_send). > > With the new hw_features it does not work to keep the old sysfs > > interface in parallel. Convert options.checksum_type to new hw_features. > [...] > > + Â Â Â Â Â Â Â /* hw may have changed during offline or recovery */ > > + Â Â Â Â Â Â Â if (!qeth_is_supported(card, IPA_INBOUND_CHECKSUM)) { > [...] > > This check should go to ndo_fix_features callback. If it fails then > just return features &~NETIF_F_RXCSUM from there ... > > > +update_feature: > > + Â Â Â rtnl_lock(); > > + Â Â Â card->dev->hw_features &= ~NETIF_F_RXCSUM; > > + Â Â Â card->dev->features &= ~NETIF_F_RXCSUM; > > + Â Â Â netdev_update_features(card->dev); > > + Â Â Â rtnl_unlock(); > > ... and then this should be just: > rtnl_lock(); > netdev_update_features(card->dev); > rtnl_unlock(); > This code is part of the recovery, assuming the recovery detects the hw has lost it's rx csum capability I still don't understand how ndo_fix_features come into play? > BTW, How is the recovery process protected from interface removal if > it's not run under rtnl_lock? > The s/390 devices have a two stage device concept. For each netdevice there is a corresponding ccw_group device. Removing the netdevice is controlled by the ccw_group device. The recovery process is synchronized with the ccw_group device. > Best Regards, > MichaÅ MirosÅaw > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html