MFC r273329, r273337 and r274415
Add another wakeup() after actually set the bus as free.
This fix a race where the threads waiting for the bus would wake up early
and still see bus as busy.
While here, give a better description to wmesg for the two use cases we
have (bus and io waiting).
Fix the mtx_sleep() error checking, catch all errors and not only
EWOULDBLOCK.
Do not print any message at errors. The errors are properly sent to upper
layers which should be able to deal with it, including printing the errors
when they need to.
The error message was quite annoying while scanning the i2c bus.
git-svn-id: svn://svn.freebsd.org/base/stable/10@276868
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f