libnvdimm: Hold reference on parent while scheduling async init
authorAlexander Duyck <alexander.h.duyck@linux.intel.com>
Tue, 25 Sep 2018 20:53:02 +0000 (13:53 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:08:42 +0000 (11:08 -0800)
commit4f1a55a4f990016406147cf3e0c9487bf83e50f0
tree4acb66d3d4b95ac9e569474497d7c92c92362252
parent7a338b87b93128f6bf846c9aec27ffe0b93b0580
libnvdimm: Hold reference on parent while scheduling async init

commit b6eae0f61db27748606cc00dafcfd1e2c032f0a5 upstream.

Unlike asynchronous initialization in the core we have not yet associated
the device with the parent, and as such the device doesn't hold a reference
to the parent.

In order to resolve that we should be holding a reference on the parent
until the asynchronous initialization has completed.

Cc: <stable@vger.kernel.org>
Fixes: 4d88a97aa9e8 ("libnvdimm: ...base ... infrastructure")
Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvdimm/bus.c