|
@@ -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)
|