From: Vikas Chaudhary Date: Mon, 16 Dec 2013 11:49:37 +0000 (-0500) Subject: [SCSI] qla4xxx: Correctly handle msleep_interruptible X-Git-Tag: v3.15-rc1~136^2~86 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=32436aaa226fb13ab2e63372c4453377c2a658fc;p=platform%2Fkernel%2Flinux-exynos.git [SCSI] qla4xxx: Correctly handle msleep_interruptible If waiting for signals was interrupted then the device was put to FAILED state. Use msleep instead of msleep_interruptible to handle this correctly. Signed-off-by: Vikas Chaudhary Reviewed-by: Mike Christie Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla4xxx/ql4_nx.c b/drivers/scsi/qla4xxx/ql4_nx.c index 0ec07ec..cbc68f9 100644 --- a/drivers/scsi/qla4xxx/ql4_nx.c +++ b/drivers/scsi/qla4xxx/ql4_nx.c @@ -2820,7 +2820,7 @@ void qla4_8xxx_get_minidump(struct scsi_qla_host *ha) int qla4_8xxx_device_bootstrap(struct scsi_qla_host *ha) { int rval = QLA_ERROR; - int i, timeout; + int i; uint32_t old_count, count; int need_reset = 0, peg_stuck = 1; @@ -2828,13 +2828,7 @@ int qla4_8xxx_device_bootstrap(struct scsi_qla_host *ha) old_count = qla4_8xxx_rd_direct(ha, QLA8XXX_PEG_ALIVE_COUNTER); for (i = 0; i < 10; i++) { - timeout = msleep_interruptible(200); - if (timeout) { - qla4_8xxx_wr_direct(ha, QLA8XXX_CRB_DEV_STATE, - QLA8XXX_DEV_FAILED); - return rval; - } - + msleep(200); count = qla4_8xxx_rd_direct(ha, QLA8XXX_PEG_ALIVE_COUNTER); if (count != old_count) peg_stuck = 0;