Re: [patch 1/9] [PATCH] qeth: convert to hw_features part 2

Frank Blaschka
2011-05-12T07:21:32Z

On Thu, May 12, 2011 at 07:59:45AM +0200, Michał Mirosław wrote:
> 2011/5/12 <frank.blaschka@de.ibm.com>:
> > From: Frank Blaschka <frank.blaschka@de.ibm.com>
> >
> > 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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html