Ian Campbell
2011-Apr-04 09:58 UTC
[PATCH] xen: netfront: assume all hw features are available until backend connection setup
We need to assume that all features will be available when registering the netdev otherwise they are ommitted from the initial set of dev->wanted_features. When we connect to the backed we reduce the set as necessary due to the call to netdev_update_features() in xennet_connect(). Signed-off-by: Ian Campbell <ian.campbell at citrix.com> Cc: mirq-linux at rere.qmqm.pl Cc: netdev at vger.kernel.org <netdev at vger.kernel.org> Cc: Jeremy Fitzhardinge <jeremy at goop.org> Cc: konrad.wilk at oracle.com Cc: Eric Dumazet <eric.dumazet at gmail.com> Cc: xen-devel at lists.xensource.com --- drivers/net/xen-netfront.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 0cfe4cc..db9a763 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -1251,6 +1251,14 @@ static struct net_device * __devinit xennet_create_dev(struct xenbus_device *dev NETIF_F_GSO_ROBUST; netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO; + /* + * Assume that all hw features are available for now. This set + * will be adjusted by the call to netdev_update_features() in + * xennet_connect() which is the earliest point where we can + * negotiate with the backend regarding supported features. + */ + netdev->features |= netdev->hw_features; + SET_ETHTOOL_OPS(netdev, &xennet_ethtool_ops); SET_NETDEV_DEV(netdev, &dev->dev); -- 1.7.2.5