[PATCH] Fix IXP4xx watchdog errata workaround
authorDeepak Saxena <dsaxena@plexity.net>
Tue, 3 Jan 2006 20:50:30 +0000 (12:50 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 5 Jan 2006 00:47:42 +0000 (16:47 -0800)
The IXP4xx driver bails out on all A0 CPUs, but it should only do
so on IXP42x as IXP46x has functioning HW.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/watchdog/ixp4xx_wdt.c

index b5be8b11104af45e10c8f2f998de50706f1c5f25..3800835ca8f384d23f4e7cc5d8ee0167d04acb32 100644 (file)
@@ -186,8 +186,8 @@ static int __init ixp4xx_wdt_init(void)
        unsigned long processor_id;
 
        asm("mrc p15, 0, %0, cr0, cr0, 0;" : "=r"(processor_id) :);
-       if (!(processor_id & 0xf)) {
-               printk("IXP4XXX Watchdog: Rev. A0 CPU detected - "
+       if (!(processor_id & 0xf) && !cpu_is_ixp46x()) {
+               printk("IXP4XXX Watchdog: Rev. A0 IXP42x CPU detected - "
                        "watchdog disabled\n");
 
                return -ENODEV;