diff options
author | Kees Cook <keescook@chromium.org> | 2017-10-16 20:28:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-18 07:39:36 -0400 |
commit | eb4ddaf474285a4c6986f4a1c3205bdb0bed2da9 (patch) | |
tree | d88c2cc780254455b2deea9aa1b1b9a92d160c23 | |
parent | 1bbc728988f09e40c83585cf3322b1f6c1aa17b5 (diff) |
net/decnet: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: David Ahern <dsa@cumulusnetworks.com>
Cc: linux-decnet-user@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/dn.h | 7 | ||||
-rw-r--r-- | include/net/dn_nsp.h | 1 | ||||
-rw-r--r-- | net/decnet/af_decnet.c | 4 | ||||
-rw-r--r-- | net/decnet/dn_dev.c | 12 | ||||
-rw-r--r-- | net/decnet/dn_nsp_out.c | 11 |
5 files changed, 5 insertions, 30 deletions
diff --git a/include/net/dn.h b/include/net/dn.h index 913b73d239f5..4394f7d5cfe8 100644 --- a/include/net/dn.h +++ b/include/net/dn.h | |||
@@ -122,13 +122,6 @@ struct dn_scp /* Session Control Port */ | |||
122 | unsigned long keepalive; | 122 | unsigned long keepalive; |
123 | void (*keepalive_fxn)(struct sock *sk); | 123 | void (*keepalive_fxn)(struct sock *sk); |
124 | 124 | ||
125 | /* | ||
126 | * This stuff is for the fast timer for delayed acks | ||
127 | */ | ||
128 | struct timer_list delack_timer; | ||
129 | int delack_pending; | ||
130 | void (*delack_fxn)(struct sock *sk); | ||
131 | |||
132 | }; | 125 | }; |
133 | 126 | ||
134 | static inline struct dn_scp *DN_SK(struct sock *sk) | 127 | static inline struct dn_scp *DN_SK(struct sock *sk) |
diff --git a/include/net/dn_nsp.h b/include/net/dn_nsp.h index 3a3e33d18456..413a15e5339c 100644 --- a/include/net/dn_nsp.h +++ b/include/net/dn_nsp.h | |||
@@ -17,7 +17,6 @@ | |||
17 | 17 | ||
18 | void dn_nsp_send_data_ack(struct sock *sk); | 18 | void dn_nsp_send_data_ack(struct sock *sk); |
19 | void dn_nsp_send_oth_ack(struct sock *sk); | 19 | void dn_nsp_send_oth_ack(struct sock *sk); |
20 | void dn_nsp_delayed_ack(struct sock *sk); | ||
21 | void dn_send_conn_ack(struct sock *sk); | 20 | void dn_send_conn_ack(struct sock *sk); |
22 | void dn_send_conn_conf(struct sock *sk, gfp_t gfp); | 21 | void dn_send_conn_conf(struct sock *sk, gfp_t gfp); |
23 | void dn_nsp_send_disc(struct sock *sk, unsigned char type, | 22 | void dn_nsp_send_disc(struct sock *sk, unsigned char type, |
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index 73a0399dc7a2..d4c9a8bbad3e 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -533,10 +533,6 @@ static struct sock *dn_alloc_sock(struct net *net, struct socket *sock, gfp_t gf | |||
533 | scp->keepalive = 10 * HZ; | 533 | scp->keepalive = 10 * HZ; |
534 | scp->keepalive_fxn = dn_keepalive; | 534 | scp->keepalive_fxn = dn_keepalive; |
535 | 535 | ||
536 | init_timer(&scp->delack_timer); | ||
537 | scp->delack_pending = 0; | ||
538 | scp->delack_fxn = dn_nsp_delayed_ack; | ||
539 | |||
540 | dn_start_slow_timer(sk); | 536 | dn_start_slow_timer(sk); |
541 | out: | 537 | out: |
542 | return sk; | 538 | return sk; |
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 4d339de56862..92dbaa3f1eae 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
@@ -1038,14 +1038,14 @@ static void dn_eth_down(struct net_device *dev) | |||
1038 | 1038 | ||
1039 | static void dn_dev_set_timer(struct net_device *dev); | 1039 | static void dn_dev_set_timer(struct net_device *dev); |
1040 | 1040 | ||
1041 | static void dn_dev_timer_func(unsigned long arg) | 1041 | static void dn_dev_timer_func(struct timer_list *t) |
1042 | { | 1042 | { |
1043 | struct net_device *dev = (struct net_device *)arg; | 1043 | struct dn_dev *dn_db = from_timer(dn_db, t, timer); |
1044 | struct dn_dev *dn_db; | 1044 | struct net_device *dev; |
1045 | struct dn_ifaddr *ifa; | 1045 | struct dn_ifaddr *ifa; |
1046 | 1046 | ||
1047 | rcu_read_lock(); | 1047 | rcu_read_lock(); |
1048 | dn_db = rcu_dereference(dev->dn_ptr); | 1048 | dev = dn_db->dev; |
1049 | if (dn_db->t3 <= dn_db->parms.t2) { | 1049 | if (dn_db->t3 <= dn_db->parms.t2) { |
1050 | if (dn_db->parms.timer3) { | 1050 | if (dn_db->parms.timer3) { |
1051 | for (ifa = rcu_dereference(dn_db->ifa_list); | 1051 | for (ifa = rcu_dereference(dn_db->ifa_list); |
@@ -1070,8 +1070,6 @@ static void dn_dev_set_timer(struct net_device *dev) | |||
1070 | if (dn_db->parms.t2 > dn_db->parms.t3) | 1070 | if (dn_db->parms.t2 > dn_db->parms.t3) |
1071 | dn_db->parms.t2 = dn_db->parms.t3; | 1071 | dn_db->parms.t2 = dn_db->parms.t3; |
1072 | 1072 | ||
1073 | dn_db->timer.data = (unsigned long)dev; | ||
1074 | dn_db->timer.function = dn_dev_timer_func; | ||
1075 | dn_db->timer.expires = jiffies + (dn_db->parms.t2 * HZ); | 1073 | dn_db->timer.expires = jiffies + (dn_db->parms.t2 * HZ); |
1076 | 1074 | ||
1077 | add_timer(&dn_db->timer); | 1075 | add_timer(&dn_db->timer); |
@@ -1100,7 +1098,7 @@ static struct dn_dev *dn_dev_create(struct net_device *dev, int *err) | |||
1100 | 1098 | ||
1101 | rcu_assign_pointer(dev->dn_ptr, dn_db); | 1099 | rcu_assign_pointer(dev->dn_ptr, dn_db); |
1102 | dn_db->dev = dev; | 1100 | dn_db->dev = dev; |
1103 | init_timer(&dn_db->timer); | 1101 | timer_setup(&dn_db->timer, dn_dev_timer_func, 0); |
1104 | 1102 | ||
1105 | dn_db->uptime = jiffies; | 1103 | dn_db->uptime = jiffies; |
1106 | 1104 | ||
diff --git a/net/decnet/dn_nsp_out.c b/net/decnet/dn_nsp_out.c index 66f035e476ea..e50a4adfcf7e 100644 --- a/net/decnet/dn_nsp_out.c +++ b/net/decnet/dn_nsp_out.c | |||
@@ -491,17 +491,6 @@ void dn_send_conn_ack (struct sock *sk) | |||
491 | dn_nsp_send(skb); | 491 | dn_nsp_send(skb); |
492 | } | 492 | } |
493 | 493 | ||
494 | void dn_nsp_delayed_ack(struct sock *sk) | ||
495 | { | ||
496 | struct dn_scp *scp = DN_SK(sk); | ||
497 | |||
498 | if (scp->ackxmt_oth != scp->numoth_rcv) | ||
499 | dn_nsp_send_oth_ack(sk); | ||
500 | |||
501 | if (scp->ackxmt_dat != scp->numdat_rcv) | ||
502 | dn_nsp_send_data_ack(sk); | ||
503 | } | ||
504 | |||
505 | static int dn_nsp_retrans_conn_conf(struct sock *sk) | 494 | static int dn_nsp_retrans_conn_conf(struct sock *sk) |
506 | { | 495 | { |
507 | struct dn_scp *scp = DN_SK(sk); | 496 | struct dn_scp *scp = DN_SK(sk); |