dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime
authorDave Jiang <dave.jiang@intel.com>
Thu, 15 Apr 2021 23:37:33 +0000 (16:37 -0700)
committerVinod Koul <vkoul@kernel.org>
Tue, 20 Apr 2021 11:13:53 +0000 (16:43 +0530)
commit47c16ac27d4cb664cee53ee0b9b7e2f907923fb3
tree64dfbfba6af2983f55c55c85c3a71752bd8ce9c1
parentf7f7739847bd68b3c3103fd1b50d943038bd14c7
dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime

The devm managed lifetime is incompatible with 'struct device' objects that
resides in idxd context. This is one of the series that clean up the idxd
driver 'struct device' lifetime. Fix idxd->conf_dev 'struct device'
lifetime. Address issues flagged by CONFIG_DEBUG_KOBJECT_RELEASE.
Add release functions in order to free the allocated memory at the
appropriate time.

Reported-by: Jason Gunthorpe <jgg@nvidia.com>
Fixes: bfe1d56091c1 ("dmaengine: idxd: Init and probe for Intel data accelerators")
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/161852985319.2203940.4650791514462735368.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/idxd.h
drivers/dma/idxd/init.c
drivers/dma/idxd/sysfs.c