be2net: Use irq_update_affinity_hint()
authorNitesh Narayan Lal <nitesh@redhat.com>
Fri, 3 Sep 2021 15:24:24 +0000 (11:24 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 19:47:39 +0000 (20:47 +0100)
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: Nitesh Narayan Lal <nitesh@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210903152430.244937-9-nitesh@redhat.com
drivers/net/ethernet/emulex/benet/be_main.c

index d51f24c..84b3ba9 100644 (file)
@@ -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);
        }