[SCSI] mptfusion: Proper error handling is added after mpt_config timeout
Added proper error handling after mpt_config. Now check of MPI_IOCSTATUS_CONFIG_INVALID_PAGE is added. If error is MPI_IOCSTATUS_CONFIG_INVALID_PAGE, driver will return -ENODEV. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Родитель
f18a8927f6
Коммит
0cf0f23c28
|
@ -2523,6 +2523,12 @@ mptsas_sas_device_pg0(MPT_ADAPTER *ioc, struct mptsas_devinfo *device_info,
|
|||
cfg.action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT;
|
||||
|
||||
error = mpt_config(ioc, &cfg);
|
||||
|
||||
if (error == MPI_IOCSTATUS_CONFIG_INVALID_PAGE) {
|
||||
error = -ENODEV;
|
||||
goto out_free_consistent;
|
||||
}
|
||||
|
||||
if (error)
|
||||
goto out_free_consistent;
|
||||
|
||||
|
@ -2599,14 +2605,14 @@ mptsas_sas_expander_pg0(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info,
|
|||
cfg.action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT;
|
||||
|
||||
error = mpt_config(ioc, &cfg);
|
||||
if (error)
|
||||
goto out_free_consistent;
|
||||
|
||||
if (!buffer->NumPhys) {
|
||||
if (error == MPI_IOCSTATUS_CONFIG_INVALID_PAGE) {
|
||||
error = -ENODEV;
|
||||
goto out_free_consistent;
|
||||
}
|
||||
|
||||
if (error)
|
||||
goto out_free_consistent;
|
||||
|
||||
/* save config data */
|
||||
port_info->num_phys = (buffer->NumPhys) ? buffer->NumPhys : 1;
|
||||
port_info->phy_info = kcalloc(port_info->num_phys,
|
||||
|
@ -2682,7 +2688,7 @@ mptsas_sas_expander_pg1(MPT_ADAPTER *ioc, struct mptsas_phyinfo *phy_info,
|
|||
|
||||
if (error == MPI_IOCSTATUS_CONFIG_INVALID_PAGE) {
|
||||
error = -ENODEV;
|
||||
goto out;
|
||||
goto out_free_consistent;
|
||||
}
|
||||
|
||||
if (error)
|
||||
|
|
Загрузка…
Ссылка в новой задаче