summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-08-29 11:04:57 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-08-29 11:04:57 +0000
commitd10a32e4d5fdc4688e899f054f240db7d3f62777 (patch)
treeaa8bbe9c005ea84d431a73829f0a6ec1e06d9169 /sys/dev
parent78809f8015952e2e70a3971f49cd20252226ea67 (diff)
submatch functions used with config_found_sm() are required to invoke the
driver's ca_match function. (only offender in the whole tree) ok deraadt@
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/gpio/gpio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/gpio/gpio.c b/sys/dev/gpio/gpio.c
index 30ad168f3ad..cb5374e18e5 100644
--- a/sys/dev/gpio/gpio.c
+++ b/sys/dev/gpio/gpio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: gpio.c,v 1.10 2008/11/26 15:04:42 mbalmer Exp $ */
+/* $OpenBSD: gpio.c,v 1.11 2009/08/29 11:04:56 miod Exp $ */
/*
* Copyright (c) 2008 Marc Balmer <mbalmer@openbsd.org>
@@ -80,7 +80,10 @@ gpio_submatch(struct device *parent, void *match, void *aux)
struct cfdata *cf = match;
struct gpio_attach_args *ga = aux;
- return (strcmp(ga->ga_dvname, cf->cf_driver->cd_name) == 0);
+ if (strcmp(ga->ga_dvname, cf->cf_driver->cd_name) != 0)
+ return (0);
+
+ return ((*cf->cf_attach->ca_match)(parent, match, aux));
}
void