The following commit has been merged in the linux branch: commit 03717e3d12b625268848414e39beda25e4515692 Author: Thomas Gleixner tglx@linutronix.de Date: Wed Oct 14 01:18:26 2009 -0700
watchdog: Fix rio watchdog probe function
After sucessfully registering the misc device the driver iounmaps the hardware registers and kfree's the device data structure. Ouch !
This was introduced with commit e42311d75 (riowatchdog: Convert to pure OF driver) and went unnoticed for more than a year :)
Return success instead of dropping into the error cleanup code path.
Signed-off-by: Thomas Gleixner tglx@linutronix.de Signed-off-by: David S. Miller davem@davemloft.net
diff --git a/drivers/watchdog/riowd.c b/drivers/watchdog/riowd.c index 1e8f02f..d3c824d 100644 --- a/drivers/watchdog/riowd.c +++ b/drivers/watchdog/riowd.c @@ -206,7 +206,7 @@ static int __devinit riowd_probe(struct of_device *op,
dev_set_drvdata(&op->dev, p); riowd_device = p; - err = 0; + return 0;
out_iounmap: of_iounmap(&op->resource[0], p->regs, 2);