[WATCHDOG] Semi-typical watchdog bug re early misc_register()
authorAlexey Dobriyan <adobriyan@gmail.com>
Sat, 24 Mar 2007 12:58:12 +0000 (15:58 +0300)
committerWim Van Sebroeck <wim@iguana.be>
Mon, 26 Mar 2007 20:26:11 +0000 (20:26 +0000)
It seems that some watchdog drivers are doing following mistake:

rv = misc_register();
if (rv < 0)
return rv;
rv = request_region();
if (rv < 0) {
misc_deregister();
return rv;
}

But, right after misc_register() returns, misc device can be opened and
ioctls interacting with hardware issued, and driver can do outb() to
port it doesn't own yet, because request_region() is still pending.

Here is my patch, compile-tested only.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

No differences found