aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-04-23 23:14:36 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-23 23:15:17 -0400
commitf24001941c99776f41bd3f09c07d91205c2ad9d4 (patch)
tree0ab31480ccdf343b61db045e195d096068ef7c73 /drivers/net/ethernet
parenta108d5f35adc5c5d5cdc882dc0bb920565551bff (diff)
parent4d634ca35a8b38530b134ae92bc9e3cc9c23c030 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Fix merge between commit 3adadc08cc1e ("net ax25: Reorder ax25_exit to remove races") and commit 0ca7a4c87d27 ("net ax25: Simplify and cleanup the ax25 sysctl handling") The former moved around the sysctl register/unregister calls, the later simply removed them. With help from Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c12
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c10
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c10
-rw-r--r--drivers/net/ethernet/micrel/ks8851.c13
-rw-r--r--drivers/net/ethernet/micrel/ksz884x.c2
-rw-r--r--drivers/net/ethernet/smsc/smsc911x.c3
-rw-r--r--drivers/net/ethernet/ti/davinci_mdio.c5
7 files changed, 32 insertions, 23 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 3d78b6267308..a3fb7215cd89 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -922,6 +922,12 @@ static int bnx2x_ets_e3b0_sp_pri_to_cos_set(const struct link_params *params,
922 const u8 max_num_of_cos = (port) ? DCBX_E3B0_MAX_NUM_COS_PORT1 : 922 const u8 max_num_of_cos = (port) ? DCBX_E3B0_MAX_NUM_COS_PORT1 :
923 DCBX_E3B0_MAX_NUM_COS_PORT0; 923 DCBX_E3B0_MAX_NUM_COS_PORT0;
924 924
925 if (pri >= max_num_of_cos) {
926 DP(NETIF_MSG_LINK, "bnx2x_ets_e3b0_sp_pri_to_cos_set invalid "
927 "parameter Illegal strict priority\n");
928 return -EINVAL;
929 }
930
925 if (sp_pri_to_cos[pri] != DCBX_INVALID_COS) { 931 if (sp_pri_to_cos[pri] != DCBX_INVALID_COS) {
926 DP(NETIF_MSG_LINK, "bnx2x_ets_e3b0_sp_pri_to_cos_set invalid " 932 DP(NETIF_MSG_LINK, "bnx2x_ets_e3b0_sp_pri_to_cos_set invalid "
927 "parameter There can't be two COS's with " 933 "parameter There can't be two COS's with "
@@ -929,12 +935,6 @@ static int bnx2x_ets_e3b0_sp_pri_to_cos_set(const struct link_params *params,
929 return -EINVAL; 935 return -EINVAL;
930 } 936 }
931 937
932 if (pri > max_num_of_cos) {
933 DP(NETIF_MSG_LINK, "bnx2x_ets_e3b0_sp_pri_to_cos_set invalid "
934 "parameter Illegal strict priority\n");
935 return -EINVAL;
936 }
937
938 sp_pri_to_cos[pri] = cos_entry; 938 sp_pri_to_cos[pri] = cos_entry;
939 return 0; 939 return 0;
940 940
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index 027d7a75be39..ed1b47dc0834 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -622,6 +622,16 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter, int v_idx,
622 if (adapter->hw.mac.type == ixgbe_mac_82599EB) 622 if (adapter->hw.mac.type == ixgbe_mac_82599EB)
623 set_bit(__IXGBE_RX_CSUM_UDP_ZERO_ERR, &ring->state); 623 set_bit(__IXGBE_RX_CSUM_UDP_ZERO_ERR, &ring->state);
624 624
625#ifdef IXGBE_FCOE
626 if (adapter->netdev->features & NETIF_F_FCOE_MTU) {
627 struct ixgbe_ring_feature *f;
628 f = &adapter->ring_feature[RING_F_FCOE];
629 if ((rxr_idx >= f->mask) &&
630 (rxr_idx < f->mask + f->indices))
631 set_bit(__IXGBE_RX_FCOE_BUFSZ, &ring->state);
632 }
633
634#endif /* IXGBE_FCOE */
625 /* apply Rx specific ring traits */ 635 /* apply Rx specific ring traits */
626 ring->count = adapter->rx_ring_count; 636 ring->count = adapter->rx_ring_count;
627 ring->queue_index = rxr_idx; 637 ring->queue_index = rxr_idx;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index f3b849438b62..7c4325ec22c2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3127,14 +3127,6 @@ static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)
3127 set_ring_rsc_enabled(rx_ring); 3127 set_ring_rsc_enabled(rx_ring);
3128 else 3128 else
3129 clear_ring_rsc_enabled(rx_ring); 3129 clear_ring_rsc_enabled(rx_ring);
3130#ifdef IXGBE_FCOE
3131 if (netdev->features & NETIF_F_FCOE_MTU) {
3132 struct ixgbe_ring_feature *f;
3133 f = &adapter->ring_feature[RING_F_FCOE];
3134 if ((i >= f->mask) && (i < f->mask + f->indices))
3135 set_bit(__IXGBE_RX_FCOE_BUFSZ, &rx_ring->state);
3136 }
3137#endif /* IXGBE_FCOE */
3138 } 3130 }
3139} 3131}
3140 3132
@@ -4808,7 +4800,9 @@ static int ixgbe_resume(struct pci_dev *pdev)
4808 4800
4809 pci_wake_from_d3(pdev, false); 4801 pci_wake_from_d3(pdev, false);
4810 4802
4803 rtnl_lock();
4811 err = ixgbe_init_interrupt_scheme(adapter); 4804 err = ixgbe_init_interrupt_scheme(adapter);
4805 rtnl_unlock();
4812 if (err) { 4806 if (err) {
4813 e_dev_err("Cannot initialize interrupts for device\n"); 4807 e_dev_err("Cannot initialize interrupts for device\n");
4814 return err; 4808 return err;
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index e5dc0757f077..f8dda009d3c0 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -889,16 +889,17 @@ static int ks8851_net_stop(struct net_device *dev)
889 netif_stop_queue(dev); 889 netif_stop_queue(dev);
890 890
891 mutex_lock(&ks->lock); 891 mutex_lock(&ks->lock);
892 /* turn off the IRQs and ack any outstanding */
893 ks8851_wrreg16(ks, KS_IER, 0x0000);
894 ks8851_wrreg16(ks, KS_ISR, 0xffff);
895 mutex_unlock(&ks->lock);
892 896
893 /* stop any outstanding work */ 897 /* stop any outstanding work */
894 flush_work(&ks->irq_work); 898 flush_work(&ks->irq_work);
895 flush_work(&ks->tx_work); 899 flush_work(&ks->tx_work);
896 flush_work(&ks->rxctrl_work); 900 flush_work(&ks->rxctrl_work);
897 901
898 /* turn off the IRQs and ack any outstanding */ 902 mutex_lock(&ks->lock);
899 ks8851_wrreg16(ks, KS_IER, 0x0000);
900 ks8851_wrreg16(ks, KS_ISR, 0xffff);
901
902 /* shutdown RX process */ 903 /* shutdown RX process */
903 ks8851_wrreg16(ks, KS_RXCR1, 0x0000); 904 ks8851_wrreg16(ks, KS_RXCR1, 0x0000);
904 905
@@ -907,6 +908,7 @@ static int ks8851_net_stop(struct net_device *dev)
907 908
908 /* set powermode to soft power down to save power */ 909 /* set powermode to soft power down to save power */
909 ks8851_set_powermode(ks, PMECR_PM_SOFTDOWN); 910 ks8851_set_powermode(ks, PMECR_PM_SOFTDOWN);
911 mutex_unlock(&ks->lock);
910 912
911 /* ensure any queued tx buffers are dumped */ 913 /* ensure any queued tx buffers are dumped */
912 while (!skb_queue_empty(&ks->txq)) { 914 while (!skb_queue_empty(&ks->txq)) {
@@ -918,7 +920,6 @@ static int ks8851_net_stop(struct net_device *dev)
918 dev_kfree_skb(txb); 920 dev_kfree_skb(txb);
919 } 921 }
920 922
921 mutex_unlock(&ks->lock);
922 return 0; 923 return 0;
923} 924}
924 925
@@ -1524,7 +1525,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
1524 1525
1525 1526
1526err_netdev: 1527err_netdev:
1527 free_irq(ndev->irq, ndev); 1528 free_irq(ndev->irq, ks);
1528 1529
1529err_id: 1530err_id:
1530err_irq: 1531err_irq:
diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c
index ef723b185d85..eaf9ff0262a9 100644
--- a/drivers/net/ethernet/micrel/ksz884x.c
+++ b/drivers/net/ethernet/micrel/ksz884x.c
@@ -5675,7 +5675,7 @@ static int netdev_set_mac_address(struct net_device *dev, void *addr)
5675 memcpy(hw->override_addr, mac->sa_data, ETH_ALEN); 5675 memcpy(hw->override_addr, mac->sa_data, ETH_ALEN);
5676 } 5676 }
5677 5677
5678 memcpy(dev->dev_addr, mac->sa_data, MAX_ADDR_LEN); 5678 memcpy(dev->dev_addr, mac->sa_data, ETH_ALEN);
5679 5679
5680 interrupt = hw_block_intr(hw); 5680 interrupt = hw_block_intr(hw);
5681 5681
diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index 480fd0822e4a..dab9c6f671ec 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -2379,7 +2379,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2379 SET_NETDEV_DEV(dev, &pdev->dev); 2379 SET_NETDEV_DEV(dev, &pdev->dev);
2380 2380
2381 pdata = netdev_priv(dev); 2381 pdata = netdev_priv(dev);
2382
2383 dev->irq = irq_res->start; 2382 dev->irq = irq_res->start;
2384 irq_flags = irq_res->flags & IRQF_TRIGGER_MASK; 2383 irq_flags = irq_res->flags & IRQF_TRIGGER_MASK;
2385 pdata->ioaddr = ioremap_nocache(res->start, res_size); 2384 pdata->ioaddr = ioremap_nocache(res->start, res_size);
@@ -2443,7 +2442,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2443 if (retval) { 2442 if (retval) {
2444 SMSC_WARN(pdata, probe, 2443 SMSC_WARN(pdata, probe,
2445 "Unable to claim requested irq: %d", dev->irq); 2444 "Unable to claim requested irq: %d", dev->irq);
2446 goto out_free_irq; 2445 goto out_disable_resources;
2447 } 2446 }
2448 2447
2449 retval = register_netdev(dev); 2448 retval = register_netdev(dev);
diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index 2757c7d6e633..e4e47088e26b 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -181,6 +181,11 @@ static inline int wait_for_user_access(struct davinci_mdio_data *data)
181 __davinci_mdio_reset(data); 181 __davinci_mdio_reset(data);
182 return -EAGAIN; 182 return -EAGAIN;
183 } 183 }
184
185 reg = __raw_readl(&regs->user[0].access);
186 if ((reg & USERACCESS_GO) == 0)
187 return 0;
188
184 dev_err(data->dev, "timed out waiting for user access\n"); 189 dev_err(data->dev, "timed out waiting for user access\n");
185 return -ETIMEDOUT; 190 return -ETIMEDOUT;
186} 191}