Commit b8b9dd52 authored by Nitesh Narayan Lal's avatar Nitesh Narayan Lal Committed by Thomas Gleixner
Browse files

be2net: Use irq_update_affinity_hint()



The driver uses irq_set_affinity_hint() to update the affinity_hint mask
that is consumed by the userspace to distribute the interrupts. However,
under the hood irq_set_affinity_hint() also applies the provided cpumask
(if not NULL) as the affinity for the given interrupt which is an
undocumented side effect.

To remove this side effect irq_set_affinity_hint() has been marked
as deprecated and new interfaces have been introduced. Hence, replace the
irq_set_affinity_hint() with the new interface irq_update_affinity_hint()
that only updates the affinity_hint pointer.

Signed-off-by: default avatarNitesh Narayan Lal <nitesh@redhat.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210903152430.244937-9-nitesh@redhat.com
parent cb39ca92
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3491,7 +3491,7 @@ static int be_msix_register(struct be_adapter *adapter)
		if (status)
			goto err_msix;

		irq_set_affinity_hint(vec, eqo->affinity_mask);
		irq_update_affinity_hint(vec, eqo->affinity_mask);
	}

	return 0;
@@ -3552,7 +3552,7 @@ static void be_irq_unregister(struct be_adapter *adapter)
	/* MSIx */
	for_all_evt_queues(adapter, eqo, i) {
		vec = be_msix_vec_get(adapter, eqo);
		irq_set_affinity_hint(vec, NULL);
		irq_update_affinity_hint(vec, NULL);
		free_irq(vec, eqo);
	}