The mpt3sas_ctl_exit should be called after communication
with the controller stops but in currently it may cause
false warnings about not released memory.
Fix it by leaving mpt3sas_ctl_exit handle misc driver release
per driver and release DMA in mpt3sas_ctl_release per ioc.
Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx>
---
V2: separate handling of DMA release and misc driver deregistration
...
diff
<https://lore.kernel.org/all/20231019153706.7967-1-thenzl@xxxxxxxxxx/#iZ31drivers:scsi:mpt3sas:mpt3sas_scsih.c>
--git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
b/drivers/scsi/mpt3sas/mpt3sas_scsih.c > index
605013d3ee83..96dd2af5cd7d 100644 > ---
a/drivers/scsi/mpt3sas/mpt3sas_scsih.c > +++
b/drivers/scsi/mpt3sas/mpt3sas_scsih.c > @@ -11350,6 +11350,7 @@ static
void scsih_remove(struct pci_dev *pdev) > }
mpt3sas_base_detach(ioc);
+ mpt3sas_ctl_release(ioc); > spin_lock(&gioc_lock);
list_del(&ioc->list);
spin_unlock(&gioc_lock);
Hi,
does a similarmpt3sas_ctl_release() should also be called in the error handling path of |
_scsih_probe()? CJ |