aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_ethtool.c')
-rw-r--r--drivers/net/e1000/e1000_ethtool.c41
1 files changed, 21 insertions, 20 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index d1c705b412c2..6ed7f599eba3 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -1,7 +1,7 @@
1/******************************************************************************* 1/*******************************************************************************
2 2
3 3
4 Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. 4 Copyright(c) 1999 - 2006 Intel Corporation. All rights reserved.
5 5
6 This program is free software; you can redistribute it and/or modify it 6 This program is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the Free 7 under the terms of the GNU General Public License as published by the Free
@@ -22,6 +22,7 @@
22 22
23 Contact Information: 23 Contact Information:
24 Linux NICS <linux.nics@intel.com> 24 Linux NICS <linux.nics@intel.com>
25 e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
25 Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 26 Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
26 27
27*******************************************************************************/ 28*******************************************************************************/
@@ -864,8 +865,8 @@ static int
864e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) 865e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
865{ 866{
866 struct net_device *netdev = adapter->netdev; 867 struct net_device *netdev = adapter->netdev;
867 uint32_t mask, i=0, shared_int = TRUE; 868 uint32_t mask, i=0, shared_int = TRUE;
868 uint32_t irq = adapter->pdev->irq; 869 uint32_t irq = adapter->pdev->irq;
869 870
870 *data = 0; 871 *data = 0;
871 872
@@ -891,22 +892,22 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
891 /* Interrupt to test */ 892 /* Interrupt to test */
892 mask = 1 << i; 893 mask = 1 << i;
893 894
894 if (!shared_int) { 895 if (!shared_int) {
895 /* Disable the interrupt to be reported in 896 /* Disable the interrupt to be reported in
896 * the cause register and then force the same 897 * the cause register and then force the same
897 * interrupt and see if one gets posted. If 898 * interrupt and see if one gets posted. If
898 * an interrupt was posted to the bus, the 899 * an interrupt was posted to the bus, the
899 * test failed. 900 * test failed.
900 */ 901 */
901 adapter->test_icr = 0; 902 adapter->test_icr = 0;
902 E1000_WRITE_REG(&adapter->hw, IMC, mask); 903 E1000_WRITE_REG(&adapter->hw, IMC, mask);
903 E1000_WRITE_REG(&adapter->hw, ICS, mask); 904 E1000_WRITE_REG(&adapter->hw, ICS, mask);
904 msec_delay(10); 905 msec_delay(10);
905 906
906 if (adapter->test_icr & mask) { 907 if (adapter->test_icr & mask) {
907 *data = 3; 908 *data = 3;
908 break; 909 break;
909 } 910 }
910 } 911 }
911 912
912 /* Enable the interrupt to be reported in 913 /* Enable the interrupt to be reported in
@@ -925,7 +926,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
925 break; 926 break;
926 } 927 }
927 928
928 if (!shared_int) { 929 if (!shared_int) {
929 /* Disable the other interrupts to be reported in 930 /* Disable the other interrupts to be reported in
930 * the cause register and then force the other 931 * the cause register and then force the other
931 * interrupts and see if any get posted. If 932 * interrupts and see if any get posted. If