In iwm(4), send PHY DB commands as async commands.
This means we won't sleep and wait for the firmware to send an interrupt
when it's done processing the command. For unknown reasons, sometimes the
firmware never wakes the driver after a phy db command so the driver gives
up partway through the hardware init sequence.
We already have a DELAY in place after each phy db command we send to give
the firmware some time for processing, so skipping the sleep is not expected
to cause problems. If it does, we'll have to revisit this change.
For now, this change makes iwm(4) work better in bsd.rd.
Problem reported by Remi Locherer on bugs@, and confirmed by kettenis@.
Lots of help with testing and ok tb@