diff options
| author | Takashi Iwai <tiwai@suse.de> | 2017-01-25 22:11:17 +0100 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2017-01-25 22:11:17 +0100 |
| commit | e1a063f43a5e0435ecf8a2b6d42e10e20e8caf61 (patch) | |
| tree | 7329fb15e57917a503c859f7266fcd034728bd54 /net/ipv4/igmp.c | |
| parent | 9eb5d0e635ebe2f227d591e531d48c6f01c0dd78 (diff) | |
| parent | 0369d6315bc2bc56da2a2b15c8074b889096a47e (diff) | |
Merge branch 'topic/intel-lpe-audio' into for-next
Diffstat (limited to 'net/ipv4/igmp.c')
| -rw-r--r-- | net/ipv4/igmp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 68d622133f53..5b15459955f8 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -219,9 +219,14 @@ static void igmp_start_timer(struct ip_mc_list *im, int max_delay) static void igmp_gq_start_timer(struct in_device *in_dev) { int tv = prandom_u32() % in_dev->mr_maxdelay; + unsigned long exp = jiffies + tv + 2; + + if (in_dev->mr_gq_running && + time_after_eq(exp, (in_dev->mr_gq_timer).expires)) + return; in_dev->mr_gq_running = 1; - if (!mod_timer(&in_dev->mr_gq_timer, jiffies+tv+2)) + if (!mod_timer(&in_dev->mr_gq_timer, exp)) in_dev_hold(in_dev); } |
