diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-26 00:02:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-26 00:02:22 -0400 |
commit | 00a2470546dd8427325636a711a42c934135dbf5 (patch) | |
tree | 9567002c1ae07a918ccf11ec2a72c6e4831cb535 /net/core | |
parent | 5aafdea448fb86412a6f8e46df518c1545d32436 (diff) | |
parent | 6df59a84eccd4cad7fcefda3e0c5e55239a3b2dd (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)
route: Take the right src and dst addresses in ip_route_newports
ipv4: Fix nexthop caching wrt. scoping.
ipv4: Invalidate nexthop cache nh_saddr more correctly.
net: fix pch_gbe section mismatch warning
ipv4: fix fib metrics
mlx4_en: Removing HW info from ethtool -i report.
net_sched: fix THROTTLED/RUNNING race
drivers/net/a2065.c: Convert release_resource to release_region/release_mem_region
drivers/net/ariadne.c: Convert release_resource to release_region/release_mem_region
bonding: fix rx_handler locking
myri10ge: fix rmmod crash
mlx4_en: updated driver version to 1.5.4.1
mlx4_en: Using blue flame support
mlx4_core: reserve UARs for userspace consumers
mlx4_core: maintain available field in bitmap allocator
mlx4: Add blue flame support for kernel consumers
mlx4_en: Enabling new steering
mlx4: Add support for promiscuous mode in the new steering model.
mlx4: generalization of multicast steering.
mlx4_en: Reporting HW revision in ethtool -i
...
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 19 | ||||
-rw-r--r-- | net/core/ethtool.c | 2 |
2 files changed, 12 insertions, 9 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 0b88eba97dab..f453370131a0 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -1353,14 +1353,17 @@ EXPORT_SYMBOL(dev_close); | |||
1353 | */ | 1353 | */ |
1354 | void dev_disable_lro(struct net_device *dev) | 1354 | void dev_disable_lro(struct net_device *dev) |
1355 | { | 1355 | { |
1356 | if (dev->ethtool_ops && dev->ethtool_ops->get_flags && | 1356 | u32 flags; |
1357 | dev->ethtool_ops->set_flags) { | 1357 | |
1358 | u32 flags = dev->ethtool_ops->get_flags(dev); | 1358 | if (dev->ethtool_ops && dev->ethtool_ops->get_flags) |
1359 | if (flags & ETH_FLAG_LRO) { | 1359 | flags = dev->ethtool_ops->get_flags(dev); |
1360 | flags &= ~ETH_FLAG_LRO; | 1360 | else |
1361 | dev->ethtool_ops->set_flags(dev, flags); | 1361 | flags = ethtool_op_get_flags(dev); |
1362 | } | 1362 | |
1363 | } | 1363 | if (!(flags & ETH_FLAG_LRO)) |
1364 | return; | ||
1365 | |||
1366 | __ethtool_set_flags(dev, flags & ~ETH_FLAG_LRO); | ||
1364 | WARN_ON(dev->features & NETIF_F_LRO); | 1367 | WARN_ON(dev->features & NETIF_F_LRO); |
1365 | } | 1368 | } |
1366 | EXPORT_SYMBOL(dev_disable_lro); | 1369 | EXPORT_SYMBOL(dev_disable_lro); |
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index a1086fb0c0c7..24bd57493c0d 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -513,7 +513,7 @@ static int ethtool_set_one_feature(struct net_device *dev, | |||
513 | } | 513 | } |
514 | } | 514 | } |
515 | 515 | ||
516 | static int __ethtool_set_flags(struct net_device *dev, u32 data) | 516 | int __ethtool_set_flags(struct net_device *dev, u32 data) |
517 | { | 517 | { |
518 | u32 changed; | 518 | u32 changed; |
519 | 519 | ||