Re: [PATCH] nvdimm: nvdimm_bus_register: Avoid adding device to the unregistered bus

From: Dan Williams
Date: Mon Mar 20 2023 - 22:38:41 EST


lizhijian@xxxxxxxxxxx wrote:
[..]
> > Now I do think it would be a good idea to fail device_add() if the bus
> > is not registered,
>
> BTW, below line 369: device_add() didn't fail in practical.
>

I think that's ok because the device gets added, but never probed due to
this part of that commit I referenced:

@@ -503,20 +517,21 @@ int bus_add_device(struct device *dev)
*/
void bus_probe_device(struct device *dev)
{
- struct bus_type *bus = dev->bus;
+ struct subsys_private *sp = bus_to_subsys(dev->bus);
struct subsys_interface *sif;

- if (!bus)
+ if (!sp)
return;


...so it does what you want which is disable the libnvdimm subsystem
from binding to any devices without crashing.