diff options
Diffstat (limited to 'net/sunrpc/svc.c')
-rw-r--r-- | net/sunrpc/svc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index eee45a58f3ee..0c2c52276285 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -59,6 +59,7 @@ svc_create(struct svc_program *prog, unsigned int bufsize, | |||
59 | INIT_LIST_HEAD(&serv->sv_sockets); | 59 | INIT_LIST_HEAD(&serv->sv_sockets); |
60 | INIT_LIST_HEAD(&serv->sv_tempsocks); | 60 | INIT_LIST_HEAD(&serv->sv_tempsocks); |
61 | INIT_LIST_HEAD(&serv->sv_permsocks); | 61 | INIT_LIST_HEAD(&serv->sv_permsocks); |
62 | init_timer(&serv->sv_temptimer); | ||
62 | spin_lock_init(&serv->sv_lock); | 63 | spin_lock_init(&serv->sv_lock); |
63 | 64 | ||
64 | /* Remove any stale portmap registrations */ | 65 | /* Remove any stale portmap registrations */ |
@@ -87,6 +88,8 @@ svc_destroy(struct svc_serv *serv) | |||
87 | } else | 88 | } else |
88 | printk("svc_destroy: no threads for serv=%p!\n", serv); | 89 | printk("svc_destroy: no threads for serv=%p!\n", serv); |
89 | 90 | ||
91 | del_timer_sync(&serv->sv_temptimer); | ||
92 | |||
90 | while (!list_empty(&serv->sv_tempsocks)) { | 93 | while (!list_empty(&serv->sv_tempsocks)) { |
91 | svsk = list_entry(serv->sv_tempsocks.next, | 94 | svsk = list_entry(serv->sv_tempsocks.next, |
92 | struct svc_sock, | 95 | struct svc_sock, |