diff options
author | David S. Miller <davem@davemloft.net> | 2008-11-19 02:38:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-19 02:38:23 -0500 |
commit | 198d6ba4d7f48c94f990f4604f0b3d73925e0ded (patch) | |
tree | 56bbdf8ba2553c23c8099da9344a8f1d1aba97ab /drivers/net/cxgb3 | |
parent | 9a57f7fabd383920585ed8b74eacd117c6551f2d (diff) | |
parent | 7f0f598a0069d1ab072375965a4b69137233169c (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/isdn/i4l/isdn_net.c
fs/cifs/connect.c
Diffstat (limited to 'drivers/net/cxgb3')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_main.c | 4 | ||||
-rw-r--r-- | drivers/net/cxgb3/t3_hw.c | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index e1746eeb34a4..b6b2a46b7d0e 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -1336,8 +1336,10 @@ static void get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) | |||
1336 | u32 fw_vers = 0; | 1336 | u32 fw_vers = 0; |
1337 | u32 tp_vers = 0; | 1337 | u32 tp_vers = 0; |
1338 | 1338 | ||
1339 | spin_lock(&adapter->stats_lock); | ||
1339 | t3_get_fw_version(adapter, &fw_vers); | 1340 | t3_get_fw_version(adapter, &fw_vers); |
1340 | t3_get_tp_version(adapter, &tp_vers); | 1341 | t3_get_tp_version(adapter, &tp_vers); |
1342 | spin_unlock(&adapter->stats_lock); | ||
1341 | 1343 | ||
1342 | strcpy(info->driver, DRV_NAME); | 1344 | strcpy(info->driver, DRV_NAME); |
1343 | strcpy(info->version, DRV_VERSION); | 1345 | strcpy(info->version, DRV_VERSION); |
@@ -2744,7 +2746,7 @@ static void set_nqsets(struct adapter *adap) | |||
2744 | int hwports = adap->params.nports; | 2746 | int hwports = adap->params.nports; |
2745 | int nqsets = SGE_QSETS; | 2747 | int nqsets = SGE_QSETS; |
2746 | 2748 | ||
2747 | if (adap->params.rev > 0) { | 2749 | if (adap->params.rev > 0 && adap->flags & USING_MSIX) { |
2748 | if (hwports == 2 && | 2750 | if (hwports == 2 && |
2749 | (hwports * nqsets > SGE_QSETS || | 2751 | (hwports * nqsets > SGE_QSETS || |
2750 | num_cpus >= nqsets / hwports)) | 2752 | num_cpus >= nqsets / hwports)) |
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c index 968f64be3743..9a0898b0dbce 100644 --- a/drivers/net/cxgb3/t3_hw.c +++ b/drivers/net/cxgb3/t3_hw.c | |||
@@ -572,7 +572,7 @@ struct t3_vpd { | |||
572 | u32 pad; /* for multiple-of-4 sizing and alignment */ | 572 | u32 pad; /* for multiple-of-4 sizing and alignment */ |
573 | }; | 573 | }; |
574 | 574 | ||
575 | #define EEPROM_MAX_POLL 4 | 575 | #define EEPROM_MAX_POLL 40 |
576 | #define EEPROM_STAT_ADDR 0x4000 | 576 | #define EEPROM_STAT_ADDR 0x4000 |
577 | #define VPD_BASE 0xc00 | 577 | #define VPD_BASE 0xc00 |
578 | 578 | ||
@@ -3690,6 +3690,12 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, | |||
3690 | ; | 3690 | ; |
3691 | 3691 | ||
3692 | pti = &port_types[adapter->params.vpd.port_type[j]]; | 3692 | pti = &port_types[adapter->params.vpd.port_type[j]]; |
3693 | if (!pti->phy_prep) { | ||
3694 | CH_ALERT(adapter, "Invalid port type index %d\n", | ||
3695 | adapter->params.vpd.port_type[j]); | ||
3696 | return -EINVAL; | ||
3697 | } | ||
3698 | |||
3693 | ret = pti->phy_prep(&p->phy, adapter, ai->phy_base_addr + j, | 3699 | ret = pti->phy_prep(&p->phy, adapter, ai->phy_base_addr + j, |
3694 | ai->mdio_ops); | 3700 | ai->mdio_ops); |
3695 | if (ret) | 3701 | if (ret) |