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 diff -r 88ae680122c0 wistron_btns.c --- a/drivers/input/misc/wistron_btns.c Sun Dec 11 21:18:28 2005 +++ b/drivers/input/misc/wistron_btns.c Sun Jan 8 07:24:44 2006 @@ -114,7 +114,7 @@ base = ioremap(0xF0000, 0x10000); /* Can't fail */ offset = locate_wistron_bios(base); - if (offset < 0) { + if (offset == (size_t)-1) { printk(KERN_ERR "wistron_btns: BIOS entry point not found\n"); iounmap(base); return -ENODEV;