diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-24 16:07:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-24 16:07:24 -0400 |
commit | ca1a6ba57c5fca755b4ac7a13395bca2e2e371b1 (patch) | |
tree | 1dd8f5090238d644668818c54f9f91b1c5665991 /drivers | |
parent | d3073779f8362d64b804882f5f41c208c4a5e11e (diff) | |
parent | 8f3ea33a5078a09eba12bfe57424507809367756 (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:
sch_htb: fix "too many events" situation
connector: convert to single-threaded workqueue
[ATM]: When proc_create() fails, do some error handling work and return -ENOMEM.
[SUNGEM]: Fix NAPI assertion failure.
BNX2X: prevent ethtool from setting port type
[9P] net/9p/trans_fd.c: remove unused variable
[IPV6] net/ipv6/ndisc.c: remove unused variable
[IPV4] fib_trie: fix warning from rcu_assign_poinger
[TCP]: Let skbs grow over a page on fast peers
[DLCI]: Fix tiny race between module unload and sock_ioctl.
[SCTP]: Fix build warnings with IPV6 disabled.
[IPV4]: Fix null dereference in ip_defrag
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/connector/cn_queue.c | 2 | ||||
-rw-r--r-- | drivers/net/bnx2x.c | 36 | ||||
-rw-r--r-- | drivers/net/sungem.c | 2 |
3 files changed, 4 insertions, 36 deletions
diff --git a/drivers/connector/cn_queue.c b/drivers/connector/cn_queue.c index 5732ca3259f9..b6fe7e7a2c2f 100644 --- a/drivers/connector/cn_queue.c +++ b/drivers/connector/cn_queue.c | |||
@@ -146,7 +146,7 @@ struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *nls) | |||
146 | 146 | ||
147 | dev->nls = nls; | 147 | dev->nls = nls; |
148 | 148 | ||
149 | dev->cn_queue = create_workqueue(dev->name); | 149 | dev->cn_queue = create_singlethread_workqueue(dev->name); |
150 | if (!dev->cn_queue) { | 150 | if (!dev->cn_queue) { |
151 | kfree(dev); | 151 | kfree(dev); |
152 | return NULL; | 152 | return NULL; |
diff --git a/drivers/net/bnx2x.c b/drivers/net/bnx2x.c index 8af142ccf373..de32b3fba322 100644 --- a/drivers/net/bnx2x.c +++ b/drivers/net/bnx2x.c | |||
@@ -63,8 +63,8 @@ | |||
63 | #include "bnx2x.h" | 63 | #include "bnx2x.h" |
64 | #include "bnx2x_init.h" | 64 | #include "bnx2x_init.h" |
65 | 65 | ||
66 | #define DRV_MODULE_VERSION "1.40.22" | 66 | #define DRV_MODULE_VERSION "1.42.3" |
67 | #define DRV_MODULE_RELDATE "2007/11/27" | 67 | #define DRV_MODULE_RELDATE "2008/3/9" |
68 | #define BNX2X_BC_VER 0x040200 | 68 | #define BNX2X_BC_VER 0x040200 |
69 | 69 | ||
70 | /* Time in jiffies before concluding the transmitter is hung. */ | 70 | /* Time in jiffies before concluding the transmitter is hung. */ |
@@ -8008,38 +8008,6 @@ static int bnx2x_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
8008 | cmd->duplex, cmd->port, cmd->phy_address, cmd->transceiver, | 8008 | cmd->duplex, cmd->port, cmd->phy_address, cmd->transceiver, |
8009 | cmd->autoneg, cmd->maxtxpkt, cmd->maxrxpkt); | 8009 | cmd->autoneg, cmd->maxtxpkt, cmd->maxrxpkt); |
8010 | 8010 | ||
8011 | switch (cmd->port) { | ||
8012 | case PORT_TP: | ||
8013 | if (!(bp->supported & SUPPORTED_TP)) { | ||
8014 | DP(NETIF_MSG_LINK, "TP not supported\n"); | ||
8015 | return -EINVAL; | ||
8016 | } | ||
8017 | |||
8018 | if (bp->phy_flags & PHY_XGXS_FLAG) { | ||
8019 | bnx2x_link_reset(bp); | ||
8020 | bnx2x_link_settings_supported(bp, SWITCH_CFG_1G); | ||
8021 | bnx2x_phy_deassert(bp); | ||
8022 | } | ||
8023 | break; | ||
8024 | |||
8025 | case PORT_FIBRE: | ||
8026 | if (!(bp->supported & SUPPORTED_FIBRE)) { | ||
8027 | DP(NETIF_MSG_LINK, "FIBRE not supported\n"); | ||
8028 | return -EINVAL; | ||
8029 | } | ||
8030 | |||
8031 | if (!(bp->phy_flags & PHY_XGXS_FLAG)) { | ||
8032 | bnx2x_link_reset(bp); | ||
8033 | bnx2x_link_settings_supported(bp, SWITCH_CFG_10G); | ||
8034 | bnx2x_phy_deassert(bp); | ||
8035 | } | ||
8036 | break; | ||
8037 | |||
8038 | default: | ||
8039 | DP(NETIF_MSG_LINK, "Unknown port type\n"); | ||
8040 | return -EINVAL; | ||
8041 | } | ||
8042 | |||
8043 | if (cmd->autoneg == AUTONEG_ENABLE) { | 8011 | if (cmd->autoneg == AUTONEG_ENABLE) { |
8044 | if (!(bp->supported & SUPPORTED_Autoneg)) { | 8012 | if (!(bp->supported & SUPPORTED_Autoneg)) { |
8045 | DP(NETIF_MSG_LINK, "Aotoneg not supported\n"); | 8013 | DP(NETIF_MSG_LINK, "Aotoneg not supported\n"); |
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index 97212799c513..4291458955ef 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c | |||
@@ -912,7 +912,7 @@ static int gem_poll(struct napi_struct *napi, int budget) | |||
912 | * rx ring - must call napi_disable(), which | 912 | * rx ring - must call napi_disable(), which |
913 | * schedule_timeout()'s if polling is already disabled. | 913 | * schedule_timeout()'s if polling is already disabled. |
914 | */ | 914 | */ |
915 | work_done += gem_rx(gp, budget); | 915 | work_done += gem_rx(gp, budget - work_done); |
916 | 916 | ||
917 | if (work_done >= budget) | 917 | if (work_done >= budget) |
918 | return work_done; | 918 | return work_done; |