[PATCH] IPMI: return correct value from ipmi_write

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <openipmi-developer@...>
Cc: <linux-kernel@...>, <wim@...>
Date: Thursday, July 10, 2008 - 3:27 pm

From: Mark Rustad <MRustad@gmail.com>

This patch corrects the handling of write operations to the IPMI watchdog
to work as intended by returning the number of characters actually
processed. Without this patch, an "echo V >/dev/watchdog" enables the
watchdog if IPMI is providing the watchdog function.

Signed-off-by: Mark Rustad <MRustad@gmail.com>
---
I have not checked all of the watchdogs to see if there are others that have
this problem, but the one I was using before using the IPMI one did work
right. It was also a big surprise how much the default watchdog timeout
varies from one to another. Let me tell you that the 10 second default
for the IPMI watchdog was a real sore spot while tracking this problem down!
This problem goes back at least as far as 2.6.20, but I generated this patch
based on 2.6.26-rc9. I have applied, compiled and tested this fix.

 drivers/char/ipmi/ipmi_watchdog.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/char/ipmi/ipmi_watchdog.c	2008-07-10 09:31:52.000000000 -0500
+++ b/drivers/char/ipmi/ipmi_watchdog.c	2008-07-10 09:33:41.000000000 -0500
@@ -755,9 +755,8 @@ static ssize_t ipmi_write(struct file *f
 		rv = ipmi_heartbeat();
 		if (rv)
 			return rv;
-		return 1;
 	}
-	return 0;
+	return len;
 }
 
 static ssize_t ipmi_read(struct file *file,
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] IPMI: return correct value from ipmi_write, Mark Rustad, (Thu Jul 10, 3:27 pm)