From 4332304f561bc3b918e157317f574dfcb1cde8cd Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Sat, 24 Sep 2016 05:27:12 +0000 Subject: [PATCH] Fix ds1307 probing 'compat' can never be NULL, because the compatible check loop ends when compat->ocd_str is NULL. This causes ds1307 to attach to any unclaimed i2c device. --- sys/dev/iicbus/ds1307.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/iicbus/ds1307.c b/sys/dev/iicbus/ds1307.c index 987db0d0e75..bd00cda3684 100644 --- a/sys/dev/iicbus/ds1307.c +++ b/sys/dev/iicbus/ds1307.c @@ -274,7 +274,7 @@ ds1307_probe(device_t dev) compat = ofw_bus_search_compatible(dev, ds1307_compat_data); - if (compat == NULL) + if (compat->ocd_str == NULL) return (ENXIO); device_set_desc(dev, (const char *)compat->ocd_data);