From: Nishanth Aravamudan <[EMAIL PROTECTED]>

Description: Replace schedule_timeout() with msleep() to guarantee the
task delays as expected.

Patch is compile-tested.

Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]>

---

 lpfc_scsi.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff -urp 2.6.13-rc2-kj/drivers/scsi/lpfc/lpfc_scsi.c 
2.6.13-rc2-kj-dev/drivers/scsi/lpfc/lpfc_scsi.c
--- 2.6.13-rc2-kj/drivers/scsi/lpfc/lpfc_scsi.c 2005-07-06 07:57:19.000000000 
-0700
+++ 2.6.13-rc2-kj-dev/drivers/scsi/lpfc/lpfc_scsi.c     2005-07-06 
19:20:41.000000000 -0700
@@ -24,6 +24,7 @@
 
 #include <linux/pci.h>
 #include <linux/interrupt.h>
+#include <linux/delay.h>
 
 #include <scsi/scsi.h>
 #include <scsi/scsi_device.h>
@@ -885,8 +886,7 @@ __lpfc_abort_handler(struct scsi_cmnd *c
                while (cmnd->host_scribble)
                {
                        spin_unlock_irq(phba->host->host_lock);
-                       set_current_state(TASK_UNINTERRUPTIBLE);
-                       schedule_timeout(LPFC_ABORT_WAIT*HZ);
+                       msleep(LPFC_ABORT_WAIT * 1000);
                        spin_lock_irq(phba->host->host_lock);
                        if (++loop_count
                            > (2 * phba->cfg_nodev_tmo)/LPFC_ABORT_WAIT)
@@ -952,8 +952,7 @@ __lpfc_reset_lun_handler(struct scsi_cmn
 
                if (pnode->nlp_state != NLP_STE_MAPPED_NODE) {
                        spin_unlock_irq(phba->host->host_lock);
-                       set_current_state(TASK_UNINTERRUPTIBLE);
-                       schedule_timeout( HZ/2);
+                       msleep(500);
                        spin_lock_irq(phba->host->host_lock);
                }
                if ((pnode) && (pnode->nlp_state == NLP_STE_MAPPED_NODE))
@@ -1011,8 +1010,7 @@ __lpfc_reset_lun_handler(struct scsi_cmn
                                       cmnd->device->id, cmnd->device->lun,
                                       LPFC_CTX_LUN))) {
                spin_unlock_irq(phba->host->host_lock);
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(LPFC_RESET_WAIT*HZ);
+               msleep(LPFC_RESET_WAIT * 1000);
                spin_lock_irq(phba->host->host_lock);
 
                if (++loopcnt
@@ -1110,8 +1108,7 @@ __lpfc_reset_bus_handler(struct scsi_cmn
                                &phba->sli.ring[phba->sli.fcp_ring],
                                0, 0, LPFC_CTX_HOST))) {
                spin_unlock_irq(phba->host->host_lock);
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(LPFC_RESET_WAIT*HZ);
+               msleep(LPFC_RESET_WAIT * HZ);
                spin_lock_irq(phba->host->host_lock);
 
                if (++loopcnt
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to