Hi John,
I've taken a look at this and the patch below fixes it in my simple testing. But note that this doesn't adjust the PCM's min_period_bytes which will be necessary if you want to minimize latency with an adjusted high-speed bInterval setting.
Please can I ask you to submit your patch? IMO your perhaps slightly suboptimal solution is much better than the current broken version.
Thanks a lot, Pavel.