mgb: Fix nop admin interrupt handling
Previously mgb_admin_intr printed a diagnostic message if no interrupt
status bits were set, but it's not valid to call device_printf() from a
filter. Just drop the message as it has no user-facing value.
Also return FILTER_STRAY in this case - there is nothing further for
the driver to do.
Reviewed by: kbowling
MFC after: 1 week
Fixes: 8890ab7758
("Introduce if_mgb driver...")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32231
This commit is contained in:
parent
ffc19cf52d
commit
1ad2d87778
@ -779,16 +779,9 @@ mgb_admin_intr(void *xsc)
|
||||
intr_en = CSR_READ_REG(sc, MGB_INTR_ENBL_SET);
|
||||
intr_sts &= intr_en;
|
||||
|
||||
/*
|
||||
* NOTE: Debugging printfs here
|
||||
* will likely cause interrupt test failure.
|
||||
*/
|
||||
|
||||
/* TODO: shouldn't continue if suspended */
|
||||
if ((intr_sts & MGB_INTR_STS_ANY) == 0) {
|
||||
device_printf(sc->dev, "non-mgb interrupt triggered.\n");
|
||||
return (FILTER_SCHEDULE_THREAD);
|
||||
}
|
||||
if ((intr_sts & MGB_INTR_STS_ANY) == 0)
|
||||
return (FILTER_STRAY);
|
||||
if ((intr_sts & MGB_INTR_STS_TEST) != 0) {
|
||||
sc->isr_test_flag = true;
|
||||
CSR_WRITE_REG(sc, MGB_INTR_STS, MGB_INTR_STS_TEST);
|
||||
|
Loading…
Reference in New Issue
Block a user