SCSI fixes on 20240302
Two small fixes, all in drivers (the more obsolete mpt3sas and the newer mpi3mr). Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCZeLhxiYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishe4aAQCe0pM9 Ssol+/GThNmtpEMBshFYFPJTEMJlJ3Sf6Jgm7AD/ZSikfS6wbyRw8xNKRBz7H/x/ Cpi/IMaJbyJgLb9+YKE= =wUnX -----END PGP SIGNATURE----- Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Two small fixes, all in drivers (the more obsolete mpt3sas and the newer mpi3mr)" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: mpt3sas: Prevent sending diag_reset when the controller is ready scsi: mpi3mr: Reduce stack usage in mpi3mr_refresh_sas_ports()
This commit is contained in:
commit
7fd664466a
@ -1671,7 +1671,7 @@ mpi3mr_update_mr_sas_port(struct mpi3mr_ioc *mrioc, struct host_port *h_port,
|
|||||||
void
|
void
|
||||||
mpi3mr_refresh_sas_ports(struct mpi3mr_ioc *mrioc)
|
mpi3mr_refresh_sas_ports(struct mpi3mr_ioc *mrioc)
|
||||||
{
|
{
|
||||||
struct host_port h_port[64];
|
struct host_port *h_port = NULL;
|
||||||
int i, j, found, host_port_count = 0, port_idx;
|
int i, j, found, host_port_count = 0, port_idx;
|
||||||
u16 sz, attached_handle, ioc_status;
|
u16 sz, attached_handle, ioc_status;
|
||||||
struct mpi3_sas_io_unit_page0 *sas_io_unit_pg0 = NULL;
|
struct mpi3_sas_io_unit_page0 *sas_io_unit_pg0 = NULL;
|
||||||
@ -1685,6 +1685,10 @@ mpi3mr_refresh_sas_ports(struct mpi3mr_ioc *mrioc)
|
|||||||
sas_io_unit_pg0 = kzalloc(sz, GFP_KERNEL);
|
sas_io_unit_pg0 = kzalloc(sz, GFP_KERNEL);
|
||||||
if (!sas_io_unit_pg0)
|
if (!sas_io_unit_pg0)
|
||||||
return;
|
return;
|
||||||
|
h_port = kcalloc(64, sizeof(struct host_port), GFP_KERNEL);
|
||||||
|
if (!h_port)
|
||||||
|
goto out;
|
||||||
|
|
||||||
if (mpi3mr_cfg_get_sas_io_unit_pg0(mrioc, sas_io_unit_pg0, sz)) {
|
if (mpi3mr_cfg_get_sas_io_unit_pg0(mrioc, sas_io_unit_pg0, sz)) {
|
||||||
ioc_err(mrioc, "failure at %s:%d/%s()!\n",
|
ioc_err(mrioc, "failure at %s:%d/%s()!\n",
|
||||||
__FILE__, __LINE__, __func__);
|
__FILE__, __LINE__, __func__);
|
||||||
@ -1814,6 +1818,7 @@ mpi3mr_refresh_sas_ports(struct mpi3mr_ioc *mrioc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
kfree(h_port);
|
||||||
kfree(sas_io_unit_pg0);
|
kfree(sas_io_unit_pg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7378,7 +7378,9 @@ _base_wait_for_iocstate(struct MPT3SAS_ADAPTER *ioc, int timeout)
|
|||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
issue_diag_reset:
|
return 0;
|
||||||
|
|
||||||
|
issue_diag_reset:
|
||||||
rc = _base_diag_reset(ioc);
|
rc = _base_diag_reset(ioc);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user