aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/nvdimm/bus.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
index 8aae6dcc839f..9148015ed803 100644
--- a/drivers/nvdimm/bus.c
+++ b/drivers/nvdimm/bus.c
@@ -488,6 +488,8 @@ static void nd_async_device_register(void *d, async_cookie_t cookie)
488 put_device(dev); 488 put_device(dev);
489 } 489 }
490 put_device(dev); 490 put_device(dev);
491 if (dev->parent)
492 put_device(dev->parent);
491} 493}
492 494
493static void nd_async_device_unregister(void *d, async_cookie_t cookie) 495static void nd_async_device_unregister(void *d, async_cookie_t cookie)
@@ -507,6 +509,8 @@ void __nd_device_register(struct device *dev)
507 if (!dev) 509 if (!dev)
508 return; 510 return;
509 dev->bus = &nvdimm_bus_type; 511 dev->bus = &nvdimm_bus_type;
512 if (dev->parent)
513 get_device(dev->parent);
510 get_device(dev); 514 get_device(dev);
511 async_schedule_domain(nd_async_device_register, dev, 515 async_schedule_domain(nd_async_device_register, dev,
512 &nd_async_domain); 516 &nd_async_domain);