OSDN Git Service

rc: sunxi-cir: Initialize the spinlock properly
authorChen-Yu Tsai <wens@csie.org>
Tue, 22 Dec 2015 04:27:35 +0000 (02:27 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Mar 2016 23:07:13 +0000 (15:07 -0800)
commit 768acf46e1320d6c41ed1b7c4952bab41c1cde79 upstream.

The driver allocates the spinlock but fails to initialize it correctly.
The kernel reports a BUG indicating bad spinlock magic when spinlock
debugging is enabled.

Call spin_lock_init() on it to initialize it correctly.

Fixes: b4e3e59fb59c ("[media] rc: add sunxi-ir driver")

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/rc/sunxi-cir.c

index 7830aef..40f7768 100644 (file)
@@ -153,6 +153,8 @@ static int sunxi_ir_probe(struct platform_device *pdev)
        if (!ir)
                return -ENOMEM;
 
+       spin_lock_init(&ir->ir_lock);
+
        if (of_device_is_compatible(dn, "allwinner,sun5i-a13-ir"))
                ir->fifo_size = 64;
        else