diff options
author | David S. Miller <davem@davemloft.net> | 2012-04-23 23:14:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-23 23:15:17 -0400 |
commit | f24001941c99776f41bd3f09c07d91205c2ad9d4 (patch) | |
tree | 0ab31480ccdf343b61db045e195d096068ef7c73 /drivers/net/ethernet | |
parent | a108d5f35adc5c5d5cdc882dc0bb920565551bff (diff) | |
parent | 4d634ca35a8b38530b134ae92bc9e3cc9c23c030 (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.c | 12 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/micrel/ks8851.c | 13 | ||||
-rw-r--r-- | drivers/net/ethernet/micrel/ksz884x.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/smsc/smsc911x.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/ti/davinci_mdio.c | 5 |
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 | ||
1526 | err_netdev: | 1527 | err_netdev: |
1527 | free_irq(ndev->irq, ndev); | 1528 | free_irq(ndev->irq, ks); |
1528 | 1529 | ||
1529 | err_id: | 1530 | err_id: |
1530 | err_irq: | 1531 | err_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(®s->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 | } |