On 3/8/25 11:20 PM, Shuai Xue wrote: > The remove call stack is missing idxd cleanup to free bitmap, ida and > the idxd_device. Call idxd_free() helper routines to make sure we exit > gracefully. > > Fixes: bfe1d56091c1 ("dmaengine: idxd: Init and probe for Intel data accelerators") > Cc: stable@xxxxxxxxxxxxxxx > Suggested-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx> > Signed-off-by: Shuai Xue <xueshuai@xxxxxxxxxxxxxxxxx> Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx> > --- > drivers/dma/idxd/init.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c > index 890b2bbd2c5e..ecb8d534fac4 100644 > --- a/drivers/dma/idxd/init.c > +++ b/drivers/dma/idxd/init.c > @@ -1337,6 +1337,7 @@ static void idxd_remove(struct pci_dev *pdev) > destroy_workqueue(idxd->wq); > perfmon_pmu_remove(idxd); > put_device(idxd_confdev(idxd)); > + idxd_free(idxd); > } > > static struct pci_driver idxd_pci_driver = {