driver core: fix possible missing of device probe
authorMing Lei <ming.lei@canonical.com>
Mon, 19 Nov 2012 15:35:17 +0000 (23:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jan 2013 21:02:11 +0000 (13:02 -0800)
commit190888ac01d059e38ffe77a2291d44cafa9016fb
tree600544c901338319afc04edde2aba8813a5564db
parent1884bd4b1461d16d10ab4ab4d19725b4e0717f7a
driver core: fix possible missing of device probe

Inside bus_add_driver(), one device might be added(device_add()) into
the bus or probed which is triggered by deferred probe
just after completing of driver_attach() and before
'klist_add_tail(&priv->knode_bus, &bus->p->klist_drivers)',
so the device won't be probed by this driver.

This patch moves the below line

'klist_add_tail(&priv->knode_bus, &bus->p->klist_drivers)'

before driver_attach() inside bus_add_driver() to fix the
problem.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/bus.c