mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
tg3: Fix int selftest for recent devices.
commit 3aa1cdf87c upstream.
This patch fixes interrupt selftest failures for recent devices (57765,
5717, 5718. 5719, 5720) by disabling MSI one-shot mode and applying the
status tag workaround to the selftest code.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
f7838b55dc
commit
352d0ff21f
|
|
@ -8982,7 +8982,7 @@ static int tg3_test_interrupt(struct tg3 *tp)
|
|||
* Turn off MSI one shot mode. Otherwise this test has no
|
||||
* observable way to know whether the interrupt was delivered.
|
||||
*/
|
||||
if (tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, USING_MSI)) {
|
||||
if (tg3_flag(tp, 57765_PLUS)) {
|
||||
val = tr32(MSGINT_MODE) | MSGINT_MODE_ONE_SHOT_DISABLE;
|
||||
tw32(MSGINT_MODE, val);
|
||||
}
|
||||
|
|
@ -9010,6 +9010,10 @@ static int tg3_test_interrupt(struct tg3 *tp)
|
|||
break;
|
||||
}
|
||||
|
||||
if (tg3_flag(tp, 57765_PLUS) &&
|
||||
tnapi->hw_status->status_tag != tnapi->last_tag)
|
||||
tw32_mailbox_f(tnapi->int_mbox, tnapi->last_tag << 24);
|
||||
|
||||
msleep(10);
|
||||
}
|
||||
|
||||
|
|
@ -9024,7 +9028,7 @@ static int tg3_test_interrupt(struct tg3 *tp)
|
|||
|
||||
if (intr_ok) {
|
||||
/* Reenable MSI one shot mode. */
|
||||
if (tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, USING_MSI)) {
|
||||
if (tg3_flag(tp, 57765_PLUS)) {
|
||||
val = tr32(MSGINT_MODE) & ~MSGINT_MODE_ONE_SHOT_DISABLE;
|
||||
tw32(MSGINT_MODE, val);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user