Skip to content

Commit

Permalink
xen: netfront: fix declaration order
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Apr 4, 2011
1 parent 8a0427b commit 8f7b01a
Showing 1 changed file with 36 additions and 36 deletions.
72 changes: 36 additions & 36 deletions drivers/net/xen-netfront.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 8f7b01a

Please sign in to comment.