Deallocates resources before reallocating of the same in retry_allocation path of _base_allocate_memory_pools() Signed-off-by: Chaitra P B <chaitra.basappa@xxxxxxxxxxxx> Suganath prabu Subramani <suganath-prabu.subramani@xxxxxxxxxxxxx> --- drivers/scsi/mpt3sas/mpt3sas_base.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index f59495b..60c2e86 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -3124,8 +3124,10 @@ _base_release_memory_pools(struct MPT3SAS_ADAPTER *ioc) free_pages((ulong)ioc->scsi_lookup, ioc->scsi_lookup_pages); ioc->scsi_lookup = NULL; } - kfree(ioc->hpr_lookup); - kfree(ioc->internal_lookup); + if (ioc->hpr_lookup) + kfree(ioc->hpr_lookup); + if (ioc->internal_lookup) + kfree(ioc->internal_lookup); if (ioc->chain_lookup) { for (i = 0; i < ioc->chain_depth; i++) { if (ioc->chain_lookup[i].chain_buffer) @@ -3360,6 +3362,7 @@ _base_allocate_memory_pools(struct MPT3SAS_ADAPTER *ioc, int sleep_flag) goto out; retry_sz += 64; ioc->hba_queue_depth = max_request_credit - retry_sz; + _base_release_memory_pools(ioc); goto retry_allocation; } -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html