xen: netfront: fix declaration order
Must declare xennet_fix_features() and xennet_set_features() before using them. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8a0427bb68
commit
8f7b01a178
@ -1140,6 +1140,42 @@ static void xennet_uninit(struct net_device *dev)
|
||||
gnttab_free_grant_references(np->gref_rx_head);
|
||||
}
|
||||
|
||||
static u32 xennet_fix_features(struct net_device *dev, u32 features)
|
||||
{
|
||||
struct netfront_info *np = netdev_priv(dev);
|
||||
int val;
|
||||
|
||||
if (features & NETIF_F_SG) {
|
||||
if (xenbus_scanf(XBT_NIL, np->xbdev->otherend, "feature-sg",
|
||||
"%d", &val) < 0)
|
||||
val = 0;
|
||||
|
||||
if (!val)
|
||||
features &= ~NETIF_F_SG;
|
||||
}
|
||||
|
||||
if (features & NETIF_F_TSO) {
|
||||
if (xenbus_scanf(XBT_NIL, np->xbdev->otherend,
|
||||
"feature-gso-tcpv4", "%d", &val) < 0)
|
||||
val = 0;
|
||||
|
||||
if (!val)
|
||||
features &= ~NETIF_F_TSO;
|
||||
}
|
||||
|
||||
return features;
|
||||
}
|
||||
|
||||
static int xennet_set_features(struct net_device *dev, u32 features)
|
||||
{
|
||||
if (!(features & NETIF_F_SG) && dev->mtu > ETH_DATA_LEN) {
|
||||
netdev_info(dev, "Reducing MTU because no SG offload");
|
||||
dev->mtu = ETH_DATA_LEN;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct net_device_ops xennet_netdev_ops = {
|
||||
.ndo_open = xennet_open,
|
||||
.ndo_uninit = xennet_uninit,
|
||||
@ -1513,42 +1549,6 @@ static int talk_to_netback(struct xenbus_device *dev,
|
||||
return err;
|
||||
}
|
||||
|
||||
static u32 xennet_fix_features(struct net_device *dev, u32 features)
|
||||
{
|
||||
struct netfront_info *np = netdev_priv(dev);
|
||||
int val;
|
||||
|
||||
if (features & NETIF_F_SG) {
|
||||
if (xenbus_scanf(XBT_NIL, np->xbdev->otherend, "feature-sg",
|
||||
"%d", &val) < 0)
|
||||
val = 0;
|
||||
|
||||
if (!val)
|
||||
features &= ~NETIF_F_SG;
|
||||
}
|
||||
|
||||
if (features & NETIF_F_TSO) {
|
||||
if (xenbus_scanf(XBT_NIL, np->xbdev->otherend,
|
||||
"feature-gso-tcpv4", "%d", &val) < 0)
|
||||
val = 0;
|
||||
|
||||
if (!val)
|
||||
features &= ~NETIF_F_TSO;
|
||||
}
|
||||
|
||||
return features;
|
||||
}
|
||||
|
||||
static int xennet_set_features(struct net_device *dev, u32 features)
|
||||
{
|
||||
if (!(features & NETIF_F_SG) && dev->mtu > ETH_DATA_LEN) {
|
||||
netdev_info(dev, "Reducing MTU because no SG offload");
|
||||
dev->mtu = ETH_DATA_LEN;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int xennet_connect(struct net_device *dev)
|
||||
{
|
||||
struct netfront_info *np = netdev_priv(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user