Skip to content

Commit 6e8bc03

Browse files
Erni Sri Satya VennelaPaolo Abeni
authored andcommitted
net: mana: Init gf_stats_work before potential error paths in probe
Move INIT_DELAYED_WORK(gf_stats_work) to before mana_create_eq(), while keeping schedule_delayed_work() at its original location. Previously, if any function between mana_create_eq() and the INIT_DELAYED_WORK call failed, mana_probe() would call mana_remove() which unconditionally calls cancel_delayed_work_sync(gf_stats_work) in __flush_work() or debug object warnings with CONFIG_DEBUG_OBJECTS_WORK enabled. Fixes: be4f1d6 ("net: mana: Add standard counter rx_missed_errors") Signed-off-by: Erni Sri Satya Vennela <ernis@linux.microsoft.com> Link: https://patch.msgid.link/20260420124741.1056179-3-ernis@linux.microsoft.com Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1 parent cb4a907 commit 6e8bc03

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/net/ethernet/microsoft/mana/mana_en.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3635,6 +3635,8 @@ int mana_probe(struct gdma_dev *gd, bool resuming)
36353635
INIT_WORK(&ac->link_change_work, mana_link_state_handle);
36363636
}
36373637

3638+
INIT_DELAYED_WORK(&ac->gf_stats_work, mana_gf_stats_work_handler);
3639+
36383640
err = mana_create_eq(ac);
36393641
if (err) {
36403642
dev_err(dev, "Failed to create EQs: %d\n", err);
@@ -3709,7 +3711,6 @@ int mana_probe(struct gdma_dev *gd, bool resuming)
37093711

37103712
err = add_adev(gd, "eth");
37113713

3712-
INIT_DELAYED_WORK(&ac->gf_stats_work, mana_gf_stats_work_handler);
37133714
schedule_delayed_work(&ac->gf_stats_work, MANA_GF_STATS_PERIOD);
37143715

37153716
out:

0 commit comments

Comments
 (0)