From: Michal Sojka Date: Thu, 20 Dec 2012 14:13:36 +0000 (+0100) Subject: Simplify refcount handling X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-eth-gw-linux.git/commitdiff_plain/2245d034ab504eb02a10312779d670f1adb9be7e Simplify refcount handling --- diff --git a/net/can/canethgw.c b/net/can/canethgw.c index 17753640814d..62b711f999bc 100644 --- a/net/can/canethgw.c +++ b/net/can/canethgw.c @@ -177,14 +177,14 @@ static int cegw_thread_start(void *data) struct cegw_job *job = (struct cegw_job *)data; kref_init(&job->refcount); - kref_get(&job->refcount); task = kthread_run(cegw_udp2can, data, "canethgw_udp2can"); if (IS_ERR(task)) { - kref_sub(&job->refcount, 2, cegw_job_release); + kref_put(&job->refcount, cegw_job_release); return -ENOMEM; } + kref_get(&job->refcount); task = kthread_run(cegw_can2udp, data, "canethgw_can2udp"); if (IS_ERR(task)) { cegw_thread_stop(job);