diff options
author | Sivakumar Subramani <Sivakumar.Subramani@neterion.com> | 2007-08-06 05:38:19 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:50:25 -0400 |
commit | 92c487996dfc01c6c1f7c660d076037a3a01a6ae (patch) | |
tree | 309986e775f2a0253edca70b179599d66e4c724f /drivers/net/s2io.c | |
parent | c77dd43e77c530a12a466865805d2068ede96860 (diff) |
S2IO: Fixed Link LED issue when MSI-X is enabled
-Fixed Link LED issue when MSI-X is enabled.
Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/s2io.c')
-rw-r--r-- | drivers/net/s2io.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index e7b432c508f9..e7431c58da49 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -84,7 +84,7 @@ | |||
84 | #include "s2io.h" | 84 | #include "s2io.h" |
85 | #include "s2io-regs.h" | 85 | #include "s2io-regs.h" |
86 | 86 | ||
87 | #define DRV_VERSION "2.0.25.1" | 87 | #define DRV_VERSION "2.0.26.1" |
88 | 88 | ||
89 | /* S2io Driver name & version. */ | 89 | /* S2io Driver name & version. */ |
90 | static char s2io_driver_name[] = "Neterion"; | 90 | static char s2io_driver_name[] = "Neterion"; |
@@ -6201,13 +6201,10 @@ static void s2io_set_link(struct work_struct *work) | |||
6201 | netif_stop_queue(dev); | 6201 | netif_stop_queue(dev); |
6202 | } | 6202 | } |
6203 | } | 6203 | } |
6204 | val64 = readq(&bar0->adapter_status); | 6204 | val64 = readq(&bar0->adapter_control); |
6205 | if (!LINK_IS_UP(val64)) { | 6205 | val64 |= ADAPTER_LED_ON; |
6206 | DBG_PRINT(ERR_DBG, "%s:", dev->name); | 6206 | writeq(val64, &bar0->adapter_control); |
6207 | DBG_PRINT(ERR_DBG, " Link down after enabling "); | 6207 | s2io_link(nic, LINK_UP); |
6208 | DBG_PRINT(ERR_DBG, "device \n"); | ||
6209 | } else | ||
6210 | s2io_link(nic, LINK_UP); | ||
6211 | } else { | 6208 | } else { |
6212 | if (CARDS_WITH_FAULTY_LINK_INDICATORS(nic->device_type, | 6209 | if (CARDS_WITH_FAULTY_LINK_INDICATORS(nic->device_type, |
6213 | subid)) { | 6210 | subid)) { |
@@ -6216,6 +6213,10 @@ static void s2io_set_link(struct work_struct *work) | |||
6216 | writeq(val64, &bar0->gpio_control); | 6213 | writeq(val64, &bar0->gpio_control); |
6217 | val64 = readq(&bar0->gpio_control); | 6214 | val64 = readq(&bar0->gpio_control); |
6218 | } | 6215 | } |
6216 | /* turn off LED */ | ||
6217 | val64 = readq(&bar0->adapter_control); | ||
6218 | val64 = val64 &(~ADAPTER_LED_ON); | ||
6219 | writeq(val64, &bar0->adapter_control); | ||
6219 | s2io_link(nic, LINK_DOWN); | 6220 | s2io_link(nic, LINK_DOWN); |
6220 | } | 6221 | } |
6221 | clear_bit(0, &(nic->link_state)); | 6222 | clear_bit(0, &(nic->link_state)); |