I finally spent the day and gathered up all the various patches I had kicking around for the HVR-950q. They can be found here:
This includes the longstanding bug at startup that would cause the xc5000 to not properly bind on the digital side, a rather nasty case that hangs the analog video decoder in adverse signal conditions, and a case where sometimes digital tuning succeeds but doesn’t ever return a transport stream to userland. It also resolves the confusion users see when the run tools like azap and the SNR is bouncing between 0x0190 and 0x0000.
I’ve got a few other things cooking in this area such as reviewing/refining/testing Mark Lord’s proposed changes for speeding up the firmware load, as well as some other reliability improvements.
It’s probably worth noting that this patch series does *not* address a known issue reported on the MythTV mailing lists with regards to a BUG() occurring in res_free().
Update: I just took a quick look at the code related to res_free(), and I suspect the problem is simply a missing res_check() call in au0828-video.c:vidioc_streamoff(). Should be just a two line fix bug I am not setup to test it (I don’t have a Myth box at my disposal). Speak up in the comments if you’re able to compile your own kernel and want to try the fix.
Update (2): A patch fixing the res_free() bug was added to the series after this post was originally written. So if you install the current tree you will have the fix.