Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81a61859 authored by Emil Tantilov's avatar Emil Tantilov Committed by David S. Miller
Browse files

igb: Use irq_synchronize per vector when using MSI-X



Synchronize all IRQs when using MSI-X. Similar to ixgbe.
Issue was reported on e1000e, but the patch is also valid for igb.

CC: Jean Delvare <jdelvare@suse.de>
Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
Tested-by: default avatarJeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3bfacf96
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1290,8 +1290,14 @@ static void igb_irq_disable(struct igb_adapter *adapter)
	wr32(E1000_IAM, 0);
	wr32(E1000_IMC, ~0);
	wrfl();
	if (adapter->msix_entries) {
		int i;
		for (i = 0; i < adapter->num_q_vectors; i++)
			synchronize_irq(adapter->msix_entries[i].vector);
	} else {
		synchronize_irq(adapter->pdev->irq);
	}
}

/**
 * igb_irq_enable - Enable default interrupt generation settings