|
|
@@ -809,13 +809,11 @@ static int refresh_signalling_expectation(struct nf_conn *ct,
|
|
|
exp->tuple.dst.protonum != proto ||
|
|
|
exp->tuple.dst.u.udp.port != port)
|
|
|
continue;
|
|
|
- if (!del_timer(&exp->timeout))
|
|
|
- continue;
|
|
|
- exp->flags &= ~NF_CT_EXPECT_INACTIVE;
|
|
|
- exp->timeout.expires = jiffies + expires * HZ;
|
|
|
- add_timer(&exp->timeout);
|
|
|
- found = 1;
|
|
|
- break;
|
|
|
+ if (mod_timer_pending(&exp->timeout, jiffies + expires * HZ)) {
|
|
|
+ exp->flags &= ~NF_CT_EXPECT_INACTIVE;
|
|
|
+ found = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
spin_unlock_bh(&nf_conntrack_expect_lock);
|
|
|
return found;
|