--- x/net/batman-adv/network-coding.c +++ y/net/batman-adv/network-coding.c @@ -715,6 +715,7 @@ static void batadv_nc_worker(struct work delayed_work = to_delayed_work(work); priv_nc = container_of(delayed_work, struct batadv_priv_nc, work); bat_priv = container_of(priv_nc, struct batadv_priv, nc); + goto out; batadv_nc_purge_orig_hash(bat_priv); batadv_nc_purge_paths(bat_priv, bat_priv->nc.coding_hash, @@ -737,6 +738,7 @@ static void batadv_nc_worker(struct work bat_priv->nc.timestamp_sniffed_purge = jiffies; } +out: /* Schedule a new check */ batadv_nc_start_timer(bat_priv); }