2006-01-10 07:20:41

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH 2/5] wistron: do not crash if BIOS does not support interface

From: Miloslav Trmac <[email protected]>

Input: wistron - do not crash if BIOS does not support interface

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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
---

drivers/input/misc/wistron_btns.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

Index: work/drivers/input/misc/wistron_btns.c
===================================================================
--- work.orig/drivers/input/misc/wistron_btns.c
+++ work/drivers/input/misc/wistron_btns.c
@@ -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
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 */