Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

+16 -10
-6
drivers/infiniband/hw/cxgb3/iwch_provider.c
··· 1102 1102 char *cp, *next; 1103 1103 unsigned fw_maj, fw_min, fw_mic; 1104 1104 1105 - rtnl_lock(); 1106 1105 lldev->ethtool_ops->get_drvinfo(lldev, &info); 1107 - rtnl_unlock(); 1108 1106 1109 1107 next = info.fw_version + 1; 1110 1108 cp = strsep(&next, "."); ··· 1190 1192 struct net_device *lldev = iwch_dev->rdev.t3cdev_p->lldev; 1191 1193 1192 1194 PDBG("%s dev 0x%p\n", __func__, dev); 1193 - rtnl_lock(); 1194 1195 lldev->ethtool_ops->get_drvinfo(lldev, &info); 1195 - rtnl_unlock(); 1196 1196 return sprintf(buf, "%s\n", info.fw_version); 1197 1197 } 1198 1198 ··· 1203 1207 struct net_device *lldev = iwch_dev->rdev.t3cdev_p->lldev; 1204 1208 1205 1209 PDBG("%s dev 0x%p\n", __func__, dev); 1206 - rtnl_lock(); 1207 1210 lldev->ethtool_ops->get_drvinfo(lldev, &info); 1208 - rtnl_unlock(); 1209 1211 return sprintf(buf, "%s\n", info.driver); 1210 1212 } 1211 1213
+3 -1
drivers/net/cxgb3/cxgb3_main.c
··· 1307 1307 u32 fw_vers = 0; 1308 1308 u32 tp_vers = 0; 1309 1309 1310 + spin_lock(&adapter->stats_lock); 1310 1311 t3_get_fw_version(adapter, &fw_vers); 1311 1312 t3_get_tp_version(adapter, &tp_vers); 1313 + spin_unlock(&adapter->stats_lock); 1312 1314 1313 1315 strcpy(info->driver, DRV_NAME); 1314 1316 strcpy(info->version, DRV_VERSION); ··· 2701 2699 int hwports = adap->params.nports; 2702 2700 int nqsets = SGE_QSETS; 2703 2701 2704 - if (adap->params.rev > 0) { 2702 + if (adap->params.rev > 0 && adap->flags & USING_MSIX) { 2705 2703 if (hwports == 2 && 2706 2704 (hwports * nqsets > SGE_QSETS || 2707 2705 num_cpus >= nqsets / hwports))
+7 -1
drivers/net/cxgb3/t3_hw.c
··· 572 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 576 #define EEPROM_STAT_ADDR 0x4000 577 577 #define VPD_BASE 0xc00 578 578 ··· 3690 3690 ; 3691 3691 3692 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 3699 ret = pti->phy_prep(&p->phy, adapter, ai->phy_base_addr + j, 3694 3700 ai->mdio_ops); 3695 3701 if (ret)
+3 -1
drivers/net/myri10ge/myri10ge.c
··· 75 75 #include "myri10ge_mcp.h" 76 76 #include "myri10ge_mcp_gen_header.h" 77 77 78 - #define MYRI10GE_VERSION_STR "1.4.3-1.375" 78 + #define MYRI10GE_VERSION_STR "1.4.3-1.378" 79 79 80 80 MODULE_DESCRIPTION("Myricom 10G driver (10GbE)"); 81 81 MODULE_AUTHOR("Maintainer: help@myri.com"); ··· 1393 1393 if (tx->req == tx->done) { 1394 1394 tx->queue_active = 0; 1395 1395 put_be32(htonl(1), tx->send_stop); 1396 + mb(); 1396 1397 mmiowb(); 1397 1398 } 1398 1399 __netif_tx_unlock(dev_queue); ··· 2866 2865 if ((mgp->dev->real_num_tx_queues > 1) && tx->queue_active == 0) { 2867 2866 tx->queue_active = 1; 2868 2867 put_be32(htonl(1), tx->send_go); 2868 + mb(); 2869 2869 mmiowb(); 2870 2870 } 2871 2871 tx->pkt_start++;
+3 -1
drivers/net/smc911x.c
··· 2050 2050 */ 2051 2051 static int smc911x_drv_probe(struct platform_device *pdev) 2052 2052 { 2053 + #ifdef SMC_DYNAMIC_BUS_CONFIG 2053 2054 struct smc911x_platdata *pd = pdev->dev.platform_data; 2055 + #endif 2054 2056 struct net_device *ndev; 2055 2057 struct resource *res; 2056 2058 struct smc911x_local *lp; ··· 2184 2182 2185 2183 if (netif_running(ndev)) { 2186 2184 smc911x_reset(ndev); 2187 - smc911x_enable(ndev); 2188 2185 if (lp->phy_type != 0) 2189 2186 smc911x_phy_configure(&lp->phy_configure); 2187 + smc911x_enable(ndev); 2190 2188 netif_device_attach(ndev); 2191 2189 } 2192 2190 }