Move avalon read thread start till after conditional wait, store idle status in avalon_info and use it to determine whether an error is appropriate or not.