Takashi Iwai wrote:
Thanks for a quick test! I'll merge it soon.
Thanks for spending your time on something you'd rather not.
Well, I'm willing to fix any bugs, of course ;) So I really appreciated your report and patch.
But, more important bug still remains -- why single_cmd mode is activated. Let's track it down.
I have a little more information on that. The RIRB engine is fine but the CORB engine is stopping at seemingly random times. Usually CORB has about 7 commands queued when it switches to single_cmd mode. After the engine dies, even a rmmod/insmod sequence won't revive it. It seems to require a power down/up. I have noticed a couple of things that I thought might be related, but testing didn't show much difference.
1. The Poulsbo manual says that CORB READ Pointer Reset must be cleared back to 0 and read back as 0 to verify that the clear completed correctly.
2. azx_corb_send_cmd doesn't compare CORBWP with CORBRP to see if adding an entry will result in an empty queue.
Do you have a suggestion on a more thorough reset? I hate having to reboot all the time.
Thanks Troy