Message ID | 20221122121312.57741-1-akihiko.odaki@daynix.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | igb: Allocate MSI-X vector when testing | expand |
On 2022/11/22 21:15, Maciej Fijalkowski wrote: > On Tue, Nov 22, 2022 at 09:13:12PM +0900, Akihiko Odaki wrote: >> Allocate MSI-X vector when testing interrupts, otherwise the tests will >> not work. > > Hi, > > can you say a bit more about why current code was broken? And also what is > the current result of that ethtool test? > > Also this is a fix, please provide Fixes: tag and route it to net tree. Hi, I have just sent v2, please check it out. Regarding Fixes: tag, I couldn't tell when the bug appeared. The modified function, igb_intr_test() lacked the interrupt allocation code from the start. My guess is that some code in igb_reset() or after the function had code to allocate interrupts in the past and later removed. But I couldn't find such code. Regards, Akihiko Odaki > >> >> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> >> --- >> drivers/net/ethernet/intel/igb/igb_ethtool.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c >> index e5f3e7680dc6..ff911af16a4b 100644 >> --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c >> +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c >> @@ -1413,6 +1413,8 @@ static int igb_intr_test(struct igb_adapter *adapter, u64 *data) >> *data = 1; >> return -1; >> } >> + wr32(E1000_IVAR_MISC, E1000_IVAR_VALID << 8); >> + wr32(E1000_EIMS, BIT(0)); >> } else if (adapter->flags & IGB_FLAG_HAS_MSI) { >> shared_int = false; >> if (request_irq(irq, >> -- >> 2.38.1 >>
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c index e5f3e7680dc6..ff911af16a4b 100644 --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c @@ -1413,6 +1413,8 @@ static int igb_intr_test(struct igb_adapter *adapter, u64 *data) *data = 1; return -1; } + wr32(E1000_IVAR_MISC, E1000_IVAR_VALID << 8); + wr32(E1000_EIMS, BIT(0)); } else if (adapter->flags & IGB_FLAG_HAS_MSI) { shared_int = false; if (request_irq(irq,
Allocate MSI-X vector when testing interrupts, otherwise the tests will not work. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- drivers/net/ethernet/intel/igb/igb_ethtool.c | 2 ++ 1 file changed, 2 insertions(+)