aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-11-19 02:38:23 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-19 02:38:23 -0500
commit198d6ba4d7f48c94f990f4604f0b3d73925e0ded (patch)
tree56bbdf8ba2553c23c8099da9344a8f1d1aba97ab /drivers/net/cxgb3
parent9a57f7fabd383920585ed8b74eacd117c6551f2d (diff)
parent7f0f598a0069d1ab072375965a4b69137233169c (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.c4
-rw-r--r--drivers/net/cxgb3/t3_hw.c8
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)