linux/drivers/scsi/megaraid
Steve Sistare 31b6a05f86 scsi: megaraid_sas: reduce module load time
megaraid_sas takes 1+ seconds to load while waiting for firmware:

[2.822603] megaraid_sas 0000:03:00.0: Waiting for FW to come to ready state
[3.871003] megaraid_sas 0000:03:00.0: FW now in Ready state

This is due to the following loop in megasas_transition_to_ready(), which
waits a minimum of 1 second, even though the FW becomes ready in tens of
millisecs:

        /*
         * The cur_state should not last for more than max_wait secs
         */
        for (i = 0; i < max_wait; i++) {
                ...
                msleep(1000);
        ...
        dev_info(&instance->pdev->dev, "FW now in Ready state\n");

This is a regression, caused by a change of the msleep granularity from 1
to 1000 due to concern about waiting too long on systems with coarse
jiffies.

To fix, increase iterations and use msleep(20), which results in:

[2.670627] megaraid_sas 0000:03:00.0: Waiting for FW to come to ready state
[2.739386] megaraid_sas 0000:03:00.0: FW now in Ready state

Fixes: fb2f3e96d80f ("scsi: megaraid_sas: Fix msleep granularity")
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-03-06 19:26:45 -05:00
..
Kconfig.megaraid
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mbox_defs.h
mega_common.h
megaraid_ioctl.h scsi: megaraid: Convert timers to use timer_setup() 2017-11-01 11:27:08 -07:00
megaraid_mbox.c scsi: flip the default on use_clustering 2018-12-18 23:13:12 -05:00
megaraid_mbox.h scsi: megaraid: fix spelling mistake "maibox" -> "mailbox" 2018-09-25 20:59:27 -04:00
megaraid_mm.c scsi: megaraid_sas: NULL check before some freeing functions is not needed 2018-12-07 21:46:22 -05:00
megaraid_mm.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
megaraid_sas_base.c scsi: megaraid_sas: reduce module load time 2019-03-06 19:26:45 -05:00
megaraid_sas_fp.c scsi: megaraid: fix out-of-bound array accesses 2018-12-20 19:49:23 -05:00
megaraid_sas_fusion.c scsi: megaraid_sas: Remove a bunch of set but not used variables 2019-02-26 10:13:16 -05:00
megaraid_sas_fusion.h scsi: megaraid_sas: Add support for DEVICE_LIST DCMD in driver 2019-02-04 22:52:20 -05:00
megaraid_sas.h scsi: megaraid_sas: driver version update 2019-02-12 22:20:41 -05:00