From: Johan Hovold Date: Fri, 8 Jan 2016 19:13:41 +0000 (+0100) Subject: greybus: core: fix greybus device matching X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b77f9328f2d629220389d44febf7ab6b48848050;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git greybus: core: fix greybus device matching The bus code should only match bundle devices for now, and must not assume all greybus devices are bundles. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/core.c b/drivers/staging/greybus/core.c index c56c0c4a44f5..6b31155d4a9c 100644 --- a/drivers/staging/greybus/core.c +++ b/drivers/staging/greybus/core.c @@ -65,9 +65,14 @@ greybus_match_id(struct gb_bundle *bundle, const struct greybus_bundle_id *id) static int greybus_module_match(struct device *dev, struct device_driver *drv) { struct greybus_driver *driver = to_greybus_driver(drv); - struct gb_bundle *bundle = to_gb_bundle(dev); + struct gb_bundle *bundle; const struct greybus_bundle_id *id; + if (!is_gb_bundle(dev)) + return 0; + + bundle = to_gb_bundle(dev); + id = greybus_match_id(bundle, driver->id_table); if (id) return 1;