Re: PATCH: SBC EPX does not check/claim I/O ports it uses (2nd Edition)

From: Jiri Slaby
Date: Wed Jan 18 2006 - 07:09:36 EST


Alan Cox wrote:
>Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
>
>--- linux.vanilla-2.6.16-rc1/drivers/char/watchdog/sbc_epx_c3.c 2006-01-17 15:52:53.000000000 +0000
>+++ linux-2.6.16-rc1/drivers/char/watchdog/sbc_epx_c3.c 2006-01-17 18:27:39.149607944 +0000
>@@ -25,6 +25,7 @@
> #include <linux/notifier.h>
> #include <linux/reboot.h>
> #include <linux/init.h>
>+#include <linux/ioport.h>
> #include <asm/uaccess.h>
> #include <asm/io.h>
>
>@@ -180,12 +181,15 @@
> static int __init watchdog_init(void)
> {
> int ret;
>+
>+ if (!request_region(EPXC3_WATCHDOG_CTL_REG, 2, "epxc3_watchdog"))
>+ return -EBUSY;
>
> ret = register_reboot_notifier(&epx_c3_notifier);
> if (ret) {
> printk(KERN_ERR PFX "cannot register reboot notifier "
> "(err=%d)\n", ret);
>- return ret;
>+ goto out;
> }
>
> ret = misc_register(&epx_c3_miscdev);
>@@ -193,12 +197,16 @@
> printk(KERN_ERR PFX "cannot register miscdev on minor=%d "
> "(err=%d)\n", WATCHDOG_MINOR, ret);
> unregister_reboot_notifier(&epx_c3_notifier);
>- return ret;
>+ goto out;
> }
>
> printk(banner);
>
> return 0;
>+
>+out:
>+ release_region(EPXC3_WATCHDOG_CTL_REG, 2);
>+ return ret;
> }
>
> static void __exit watchdog_exit(void)
But now, you forgot to add release_region in this (exit) function :)?

regards,
--
Jiri Slaby www.fi.muni.cz/~xslaby
\_.-^-._ jirislaby@xxxxxxxxx _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/