Input: wistron - do not crash if BIOS does not support interface
authorMiloslav Trmac <mitr@volny.cz>
Tue, 10 Jan 2006 06:59:07 +0000 (01:59 -0500)
committerDmitry Torokhov <dtor_core@ameritech.net>
Tue, 10 Jan 2006 06:59:07 +0000 (01:59 -0500)
offset can never be < 0 because it has type size_t.  The driver
currently oopses on insmod if BIOS does not support the interface,
instead of refusing to load.

Signed-off-by: Miloslav Trmac <mitr@volny.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/misc/wistron_btns.c

index a05b8557842f56554ceb88bb4edbbfb2c44305fe..4b415d9b0123bb11851a0407770bebbc62e0e43c 100644 (file)
@@ -92,11 +92,11 @@ static void call_bios(struct regs *regs)
        preempt_enable();
 }
 
-static size_t __init locate_wistron_bios(void __iomem *base)
+static ssize_t __init locate_wistron_bios(void __iomem *base)
 {
        static const unsigned char __initdata signature[] =
                { 0x42, 0x21, 0x55, 0x30 };
-       size_t offset;
+       ssize_t offset;
 
        for (offset = 0; offset < 0x10000; offset += 0x10) {
                if (check_signature(base + offset, signature,
@@ -109,7 +109,7 @@ static size_t __init locate_wistron_bios(void __iomem *base)
 static int __init map_bios(void)
 {
        void __iomem *base;
-       size_t offset;
+       ssize_t offset;
        u32 entry_point;
 
        base = ioremap(0xF0000, 0x10000); /* Can't fail */