lkml.org 
[lkml]   [2005]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 1/2] : block/DAC960: remove sleep_on*() usage
From: Nishanth Aravamudan <nacc@us.ibm.com>



Use wait_event_interruptible_timeout() instead of the deprecated
interruptible_sleep_on_timeout(). The existing code is complicated in the
conditional and so is the new code. Also replace sleep_on_timeout() with direct
wait-queue usage. Patch is compile-tested.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
---
DAC960.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)

Index: quilt/drivers/block/DAC960.c
===================================================================
--- quilt.orig/drivers/block/DAC960.c
+++ quilt/drivers/block/DAC960.c
@@ -41,6 +41,7 @@
#include <linux/timer.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/wait.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include "DAC960.h"
@@ -6242,6 +6243,7 @@ static boolean DAC960_V2_TranslatePhysic
static boolean DAC960_V2_ExecuteUserCommand(DAC960_Controller_T *Controller,
unsigned char *UserCommand)
{
+ DEFINE_WAIT(wait);
DAC960_Command_T *Command;
DAC960_V2_CommandMailbox_T *CommandMailbox;
unsigned long flags;
@@ -6432,7 +6434,9 @@ static boolean DAC960_V2_ExecuteUserComm
while (Controller->V2.NewControllerInformation->PhysicalScanActive)
{
DAC960_ExecuteCommand(Command);
- sleep_on_timeout(&Controller->CommandWaitQueue, HZ);
+ prepare_to_wait(&Controller->CommandWaitQueue, &wait, TASK_UNINTERRUPTIBLE);
+ schedule_timeout(HZ);
+ finish_wait(&Controller->CommandWaitQueue, &wait);
}
DAC960_UserCritical("Discovery Completed\n", Controller);
}
@@ -7032,15 +7036,13 @@ static int DAC960_gam_ioctl(struct inode
GetHealthStatus.HealthStatusBuffer,
sizeof(DAC960_V2_HealthStatusBuffer_T)))
return -EFAULT;
- while (Controller->V2.HealthStatusBuffer->StatusChangeCounter
- == HealthStatusBuffer.StatusChangeCounter &&
- Controller->V2.HealthStatusBuffer->NextEventSequenceNumber
- == HealthStatusBuffer.NextEventSequenceNumber)
- {
- interruptible_sleep_on_timeout(&Controller->HealthStatusWaitQueue,
- DAC960_MonitoringTimerInterval);
- if (signal_pending(current)) return -EINTR;
- }
+ wait_event_interruptible_timeout(Controller->HealthStatusWaitQueue,
+ (Controller->V2.HealthStatusBuffer->StatusChangeCounter
+ != HealthStatusBuffer.StatusChangeCounter ||
+ Controller->V2.HealthStatusBuffer->NextEventSequenceNumber
+ != HealthStatusBuffer.NextEventSequenceNumber),
+ DAC960_MonitoringTimerInterval);
+ if (signal_pending(current)) return -EINTR;
if (copy_to_user(GetHealthStatus.HealthStatusBuffer,
Controller->V2.HealthStatusBuffer,
sizeof(DAC960_V2_HealthStatusBuffer_T)))
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-21 00:30    [W:0.101 / U:0.620 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site