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:15:05 +0000 (11:15 -0800)
commit1490de2bb0836fc0631c04d0559fdf81545b672f
treec4e71433a72e080a3c0c1dcabda905b8a6f46fbf
parent381fa28746b552875e3eccfbfdd45a7bc97f4d92
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