On Tue, 23 Dec 2025 22:56:44 +0100 Lorenzo Bianconi wrote:
quoted
Rely on rcu_replace_pointer in airoha_ppe_deinit routine in order to fix
schedule while atomic issue.
The information in the commit message is not sufficient.
What "schedule while atomic issue"?
The issue is we run kzalloc() with GFP_KERNEL in airoha_npu_ppe_deinit()
in atomic context but we do not really need atomic context there.
I will fix the commit log in v2.
Regards,
Lorenzo
quoted
- npu = rcu_dereference(eth->npu);
+ mutex_lock(&flow_offload_mutex);
+
+ npu = rcu_replace_pointer(eth->npu, NULL,
+ lockdep_is_held(&flow_offload_mutex));
if (npu) {
npu->ops.ppe_deinit(npu);
airoha_npu_put(npu);
--
pw-bot: cr