https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288077
Bug ID: 288077
Summary: ixl driver does not properly reenable interrupts for
msi.
Product: Base System
Version: 13.5-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
If msix is disabled or unavailable, msi interrupts are not properly reenabled.
The issue is in ixl_if_enable_intr. It is not consistent with what is being
done in ixl_if_disable_intr.
Changing the following:
ixl_enable_intr0(hw);
/* Enable queue interrupts */
for (int i = 0; i < vsi->num_rx_queues; i++, que++)
/* TODO: Queue index parameter is probably wrong */
ixl_enable_queue(hw, que->rxr.me);
to:
if (vsi->shared->isc_intr == IFLIB_INTR_MSIX) {
ixl_enable_intr0(hw);
/* Enable queue interrupts */
for (int i = 0; i < vsi->num_rx_queues; i++, que++)
/* TODO: Queue index parameter is probably wrong */
ixl_enable_queue(hw, que->rxr.me);
} else {
/*
* Set PFINT_LNKLST0 FIRSTQ_INDX to 0x00
* starts queues - allows interrupts
*/
wr32(hw, I40E_PFINT_LNKLST0, 0x0);
}
will resolve the issue.
--
You are receiving this mail because:
You are the assignee for the bug.