]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
CONNECTOR: don't touch queue dev after decrement of ref count
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 15 Jan 2008 23:18:12 +0000 (01:18 +0200)
committerAdrian Bunk <bunk@kernel.org>
Tue, 15 Jan 2008 23:18:12 +0000 (01:18 +0200)
cn_queue_free_callback() will touch 'dev'(i.e. cbq->pdev),
so it should be called before atomic_dec(&dev->refcnt).

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
drivers/connector/cn_queue.c

index 9f2f00d82917a748fb021cffcbac4a274e1434a9..e9de8a79acaa39f919e365d65d065c38bba4f672 100644 (file)
@@ -98,8 +98,8 @@ int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id
        spin_unlock_bh(&dev->queue_lock);
 
        if (found) {
-               atomic_dec(&dev->refcnt);
                cn_queue_free_callback(cbq);
+               atomic_dec(&dev->refcnt);
                return -EINVAL;
        }