summary refs log tree commit diff
diff options
context:
space:
mode:
authorTomas Henzl <thenzl@redhat.com>2015-12-23 14:21:47 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2016-01-06 15:10:37 -0500
commit5f985d88bac34e7f3b4403118eab072902a0b392 (patch)
tree71155393a2f31cc6144fdfd0d810ccedadf87334
parentcca8f13b4fdaf3583e103ae7f96fda948839b265 (diff)
downloadlinux-5f985d88bac34e7f3b4403118eab072902a0b392.tar.gz
mpt3sas: A correction in unmap_resources
It might happen that we try to free an already freed pointer.

Reported-by: Maurizio Lombardi <mlombard@redhat.com>
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: Chaitra P B <chaitra.basappa@avagotech.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/mpt3sas/mpt3sas_base.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 11393ebf1a68..83658acddd58 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2020,8 +2020,10 @@ mpt3sas_base_unmap_resources(struct MPT3SAS_ADAPTER *ioc)
 	_base_free_irq(ioc);
 	_base_disable_msix(ioc);
 
-	if (ioc->msix96_vector)
+	if (ioc->msix96_vector) {
 		kfree(ioc->replyPostRegisterIndex);
+		ioc->replyPostRegisterIndex = NULL;
+	}
 
 	if (ioc->chip_phys) {
 		iounmap(ioc->chip);