sleep_on and related functions are going away and should not be used
in this driver any more.
This removes the call to interruptible_sleep_on for a wait queue that
is never woken up, and replaces an interruptible_sleep_on_timeout
call with the equivalent wait_event_interruptible_timeout() to
avoid a small race.
Both call sites still look fishy and need more work.