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:
Ed Maste 2021-09-29 17:24:39 -04:00
parent ffc19cf52d
commit 1ad2d87778

View File

@ -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);