netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 1/1] netxen_nic: fix MSI/MSI-x interrupts
@ 2021-01-07 10:15 Manish Chopra
  2021-01-09 21:51 ` Jakub Kicinski
  0 siblings, 1 reply; 2+ messages in thread
From: Manish Chopra @ 2021-01-07 10:15 UTC (permalink / raw)
  To: kuba; +Cc: netdev, stable, irusskikh, GR-Linux-NIC-Dev

For all PCI functions on the netxen_nic adapter, interrupt
mode (INTx or MSI) configuration is dependent on what has
been configured by the PCI function zero in the shared
interrupt register, as these adapters do not support mixed
mode interrupts among the functions of a given adapter.

Logic for setting MSI/MSI-x interrupt mode in the shared interrupt
register based on PCI function id zero check is not appropriate for
all family of netxen adapters, as for some of the netxen family
adapters PCI function zero is not really meant to be probed/loaded
in the host but rather just act as a management function on the device,
which caused all the other PCI functions on the adapter to always use
legacy interrupt (INTx) mode instead of choosing MSI/MSI-x interrupt mode.

This patch replaces that check with port number so that for all
type of adapters driver attempts for MSI/MSI-x interrupt modes.

Fixes: b37eb210c076 ("netxen_nic: Avoid mixed mode interrupts")
Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
---
 drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
index f218477..d258e0c 100644
--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
@@ -564,11 +564,6 @@ static int netxen_set_features(struct net_device *dev,
 	.ndo_set_features = netxen_set_features,
 };
 
-static inline bool netxen_function_zero(struct pci_dev *pdev)
-{
-	return (PCI_FUNC(pdev->devfn) == 0) ? true : false;
-}
-
 static inline void netxen_set_interrupt_mode(struct netxen_adapter *adapter,
 					     u32 mode)
 {
@@ -664,7 +659,7 @@ static int netxen_setup_intr(struct netxen_adapter *adapter)
 	netxen_initialize_interrupt_registers(adapter);
 	netxen_set_msix_bit(pdev, 0);
 
-	if (netxen_function_zero(pdev)) {
+	if (adapter->portnum == 0) {
 		if (!netxen_setup_msi_interrupts(adapter, num_msix))
 			netxen_set_interrupt_mode(adapter, NETXEN_MSI_MODE);
 		else
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net 1/1] netxen_nic: fix MSI/MSI-x interrupts
  2021-01-07 10:15 [PATCH net 1/1] netxen_nic: fix MSI/MSI-x interrupts Manish Chopra
@ 2021-01-09 21:51 ` Jakub Kicinski
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Kicinski @ 2021-01-09 21:51 UTC (permalink / raw)
  To: Manish Chopra; +Cc: netdev, stable, irusskikh, GR-Linux-NIC-Dev

On Thu, 7 Jan 2021 02:15:20 -0800 Manish Chopra wrote:
> For all PCI functions on the netxen_nic adapter, interrupt
> mode (INTx or MSI) configuration is dependent on what has
> been configured by the PCI function zero in the shared
> interrupt register, as these adapters do not support mixed
> mode interrupts among the functions of a given adapter.
> 
> Logic for setting MSI/MSI-x interrupt mode in the shared interrupt
> register based on PCI function id zero check is not appropriate for
> all family of netxen adapters, as for some of the netxen family
> adapters PCI function zero is not really meant to be probed/loaded
> in the host but rather just act as a management function on the device,
> which caused all the other PCI functions on the adapter to always use
> legacy interrupt (INTx) mode instead of choosing MSI/MSI-x interrupt mode.
> 
> This patch replaces that check with port number so that for all
> type of adapters driver attempts for MSI/MSI-x interrupt modes.
> 
> Fixes: b37eb210c076 ("netxen_nic: Avoid mixed mode interrupts")
> Signed-off-by: Manish Chopra <manishc@marvell.com>
> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>

Interesting that nobody noticed this for 7 years.

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-09 21:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 10:15 [PATCH net 1/1] netxen_nic: fix MSI/MSI-x interrupts Manish Chopra
2021-01-09 21:51 ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).