driver core: fix driver_match_device
This patch fixes a bug introduced in commit
49b420a13f
.
If a instance of bus_type doesn't have .match method,
all .probe of drivers in the bus should be called, or else
the .probe have not a chance to be called.
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
d110271e1f
commit
5247aecfe6
|
@ -115,7 +115,7 @@ extern int driver_probe_device(struct device_driver *drv, struct device *dev);
|
|||
static inline int driver_match_device(struct device_driver *drv,
|
||||
struct device *dev)
|
||||
{
|
||||
return drv->bus->match && drv->bus->match(dev, drv);
|
||||
return drv->bus->match ? drv->bus->match(dev, drv) : 1;
|
||||
}
|
||||
|
||||
extern void sysdev_shutdown(void);
|
||||
|
|
Loading…
Reference in New Issue