[lvc-project] [PATCH 5.10] iavf: use internal state to free traffic IRQs
Fedor Pchelkin
pchelkin at ispras.ru
Thu Sep 3 18:31:30 MSK 2026
On Tue, 01. Sep 16:16, Victoria Votokina wrote:
> @@ -1478,15 +1478,16 @@ static void iavf_free_rss(struct iavf_adapter *adapter)
> /**
> * iavf_reinit_interrupt_scheme - Reallocate queues and vectors
> * @adapter: board private structure
> + * @running: true if adapter->state == __IAVF_RUNNING
> *
> * Returns 0 on success, negative on failure
> **/
> -static int iavf_reinit_interrupt_scheme(struct iavf_adapter *adapter)
> +static int iavf_reinit_interrupt_scheme(struct iavf_adapter *adapter, bool running)
> {
> struct net_device *netdev = adapter->netdev;
> int err;
>
> - if (netif_running(netdev))
> + if (running)
> iavf_free_traffic_irqs(adapter);
> iavf_free_misc_irq(adapter);
> iavf_reset_interrupt_capability(adapter);
> @@ -2177,7 +2178,7 @@ static void iavf_reset_task(struct work_struct *work)
> adapter->aq_required = 0;
>
> if (adapter->flags & IAVF_FLAG_REINIT_ITR_NEEDED) {
> - err = iavf_reinit_interrupt_scheme(adapter);
> + err = iavf_reinit_interrupt_scheme(adapter, running);
Кстати в ветке 5.10 значение running определяется не только через
__IAVF_RUNNING:
running = ((adapter->state == __IAVF_RUNNING) ||
(adapter->state == __IAVF_RESETTING));
Это требует доп. изучения.
> if (err)
> goto reset_err;
> }
> --
> 2.43.0
>
>
More information about the lvc-project
mailing list