summaryrefslogtreecommitdiffstats
path: root/sys/dev/iicbus
diff options
context:
space:
mode:
authornsouch <nsouch@FreeBSD.org>1999-11-01 23:15:29 +0000
committernsouch <nsouch@FreeBSD.org>1999-11-01 23:15:29 +0000
commitbfcfa15e6865b531634b7968310a861ce2fa7e70 (patch)
tree83bd3e3e44238222b8915eab88db8daf0db45cdc /sys/dev/iicbus
parent373247212ef9f2056a82796de13a14040b5b57d6 (diff)
downloadFreeBSD-src-bfcfa15e6865b531634b7968310a861ce2fa7e70.zip
FreeBSD-src-bfcfa15e6865b531634b7968310a861ce2fa7e70.tar.gz
Sync with RELENG_3.
Diffstat (limited to 'sys/dev/iicbus')
-rw-r--r--sys/dev/iicbus/iicbus.c2
-rw-r--r--sys/dev/iicbus/iiconf.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/iicbus/iicbus.c b/sys/dev/iicbus/iicbus.c
index e4b6f8d..26912fc 100644
--- a/sys/dev/iicbus/iicbus.c
+++ b/sys/dev/iicbus/iicbus.c
@@ -250,7 +250,7 @@ iicbus_print_child(device_t bus, device_t dev)
break;
default:
- panic("%s: unknown class!\n", __FUNCTION__);
+ panic("%s: unknown class!", __FUNCTION__);
}
return (retval);
diff --git a/sys/dev/iicbus/iiconf.c b/sys/dev/iicbus/iiconf.c
index 42d3a96..52e92f7 100644
--- a/sys/dev/iicbus/iiconf.c
+++ b/sys/dev/iicbus/iiconf.c
@@ -104,8 +104,12 @@ iicbus_request_bus(device_t bus, device_t dev, int how)
int s, error = 0;
/* first, ask the underlying layers if the request is ok */
- error = IICBUS_CALLBACK(device_get_parent(bus), IIC_REQUEST_BUS,
- (caddr_t)&how);
+ do {
+ error = IICBUS_CALLBACK(device_get_parent(bus),
+ IIC_REQUEST_BUS, (caddr_t)&how);
+ if (error)
+ error = iicbus_poll(sc, how);
+ } while (error == EWOULDBLOCK);
while (!error) {
s = splhigh();
OpenPOWER on IntegriCloud