diff options
author | Ming Lei <tom.leiming@gmail.com> | 2009-03-27 16:50:00 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-17 03:17:09 +0400 |
commit | 5247aecfe62266ffdedf2fc9e4243638554455b6 (patch) | |
tree | cb9650d4bc0755d172d5d8ad3b30bfa0b2821b59 | |
parent | d110271e1f4140a9fb06d968b1afe9ca56a6064e (diff) | |
download | linux-5247aecfe62266ffdedf2fc9e4243638554455b6.tar.xz |
driver core: fix driver_match_device
This patch fixes a bug introduced in commit
49b420a13ff95b449947181190b08367348e3e1b.
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>
-rw-r--r-- | drivers/base/base.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/base.h b/drivers/base/base.h index ddc97496db4a..b528145a078f 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -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); |