aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/tg3.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index e5c1bc919b4d..f2b0839f9810 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -9183,7 +9183,7 @@ static int tg3_test_interrupt(struct tg3 *tp)
9183 * Turn off MSI one shot mode. Otherwise this test has no 9183 * Turn off MSI one shot mode. Otherwise this test has no
9184 * observable way to know whether the interrupt was delivered. 9184 * observable way to know whether the interrupt was delivered.
9185 */ 9185 */
9186 if (tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, USING_MSI)) { 9186 if (tg3_flag(tp, 57765_PLUS)) {
9187 val = tr32(MSGINT_MODE) | MSGINT_MODE_ONE_SHOT_DISABLE; 9187 val = tr32(MSGINT_MODE) | MSGINT_MODE_ONE_SHOT_DISABLE;
9188 tw32(MSGINT_MODE, val); 9188 tw32(MSGINT_MODE, val);
9189 } 9189 }
@@ -9211,6 +9211,10 @@ static int tg3_test_interrupt(struct tg3 *tp)
9211 break; 9211 break;
9212 } 9212 }
9213 9213
9214 if (tg3_flag(tp, 57765_PLUS) &&
9215 tnapi->hw_status->status_tag != tnapi->last_tag)
9216 tw32_mailbox_f(tnapi->int_mbox, tnapi->last_tag << 24);
9217
9214 msleep(10); 9218 msleep(10);
9215 } 9219 }
9216 9220
@@ -9225,7 +9229,7 @@ static int tg3_test_interrupt(struct tg3 *tp)
9225 9229
9226 if (intr_ok) { 9230 if (intr_ok) {
9227 /* Reenable MSI one shot mode. */ 9231 /* Reenable MSI one shot mode. */
9228 if (tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, USING_MSI)) { 9232 if (tg3_flag(tp, 57765_PLUS)) {
9229 val = tr32(MSGINT_MODE) & ~MSGINT_MODE_ONE_SHOT_DISABLE; 9233 val = tr32(MSGINT_MODE) & ~MSGINT_MODE_ONE_SHOT_DISABLE;
9230 tw32(MSGINT_MODE, val); 9234 tw32(MSGINT_MODE, val);
9231 } 9235 }