From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E728AC432C0 for ; Wed, 27 Nov 2019 20:43:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BB880217AB for ; Wed, 27 Nov 2019 20:43:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887408; bh=S6U2qzUqNJVgEYYa4WE0Mi8QIFME/YpoalQe60XZ0+I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=WDksGV/I9Z6DiT85mrzN5hfQPwbgnzRigZKGd1Twa0WezpCkPJdNYgE/rYXS0T3gZ LF/AkO/kTX/JR2r3c+NHHjtclhrotiei+4c8MjAr5vcfjYz5OhadsoByQB+YZjZzdF RZpeRpaqrB4vxiHhOj0NyI/Sm0tKllmBff++FWF0= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729458AbfK0Un1 (ORCPT ); Wed, 27 Nov 2019 15:43:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:51162 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728986AbfK0UnZ (ORCPT ); Wed, 27 Nov 2019 15:43:25 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7900A21780; Wed, 27 Nov 2019 20:43:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887404; bh=S6U2qzUqNJVgEYYa4WE0Mi8QIFME/YpoalQe60XZ0+I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xqb0w48U1OGLRKMxR6Bp8cAlb7xtE6tPnMd1/6jcRopxDRLE+a9D0WomDammvW39b YbK/wSvLaCcPqk5myLVFdWETJjrkcHAXHNbof035lT7cQ85aDaNZWdaiZGQWJHl0+S yHZBRmBkSFv17zXdIXUgyZgP6HTLfXXxfrsBXgDY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Shivasharan S , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.9 097/151] scsi: megaraid_sas: Fix msleep granularity Date: Wed, 27 Nov 2019 21:31:20 +0100 Message-Id: <20191127203038.849589825@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203000.773542911@linuxfoundation.org> References: <20191127203000.773542911@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Shivasharan S [ Upstream commit 9155cf30a3c4ef97e225d6daddf9bd4b173267e8 ] In megasas_transition_to_ready() driver waits 180seconds for controller to change FW state. Here we are calling msleep(1) in a loop for this. As explained in timers-howto.txt, msleep(1) will actually sleep longer than 1ms. If a faulty controller is connected, we will end up waiting for much more than 180 seconds causing unnecessary delays during load. Change the granularity of msleep() call from 1ms to 1000ms. Signed-off-by: Shivasharan S Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/megaraid/megaraid_sas_base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index d90693b2767fd..c5cc002dfdd5c 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -3694,12 +3694,12 @@ megasas_transition_to_ready(struct megasas_instance *instance, int ocr) /* * The cur_state should not last for more than max_wait secs */ - for (i = 0; i < (max_wait * 1000); i++) { + for (i = 0; i < max_wait; i++) { curr_abs_state = instance->instancet-> read_fw_status_reg(instance->reg_set); if (abs_state == curr_abs_state) { - msleep(1); + msleep(1000); } else break; } -- 2.20.1