diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 3ac443b2ac08579b978b7f49de2a2b73034a88cf..20febc00a5258e253aeb9a309a9447660df40a38 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -257,6 +257,9 @@ static int __driver_attach(struct device *dev, void *data) * is an error. */ + if (drv->bus->match && !drv->bus->match(dev, drv)) + return 0; + if (dev->parent) /* Needed for USB */ down(&dev->parent->sem); down(&dev->sem);