Commit daaba19d authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Jakub Kicinski
Browse files

nfp: Use IRQF_NO_AUTOEN flag in request_irq()



disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.

Reviewed-by: default avatarLouis Peens <louis.peens@corigine.com>
Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Link: https://patch.msgid.link/20240911094445.1922476-4-ruanjinjie@huawei.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 799a9225
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -821,14 +821,13 @@ nfp_net_prepare_vector(struct nfp_net *nn, struct nfp_net_r_vector *r_vec,

	snprintf(r_vec->name, sizeof(r_vec->name),
		 "%s-rxtx-%d", nfp_net_name(nn), idx);
	err = request_irq(r_vec->irq_vector, r_vec->handler, 0, r_vec->name,
			  r_vec);
	err = request_irq(r_vec->irq_vector, r_vec->handler, IRQF_NO_AUTOEN,
			  r_vec->name, r_vec);
	if (err) {
		nfp_net_napi_del(&nn->dp, r_vec);
		nn_err(nn, "Error requesting IRQ %d\n", r_vec->irq_vector);
		return err;
	}
	disable_irq(r_vec->irq_vector);

	irq_set_affinity_hint(r_vec->irq_vector, &r_vec->affinity_mask);