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).

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@273329 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f