Yes the failover code is full of fail

Maybe "bitcoin" needs to find a programmer who can actually write a miner that works properly and takes pride in the quality of their code, instead of sitting around with $20-30mil and not giving a crap about it

After all these years, Bitmain can't do it, nor can ck

Bitmain won't because that means actually writing code vs just stealing it.
As for the originator of the mess -- reading through the Halong Dragonmint thread I've seen mention of it handling failover better so...
Then again safe bet ck ain't working for Halong for free. I will say that he has been busy there -- he's been releasing firmware updates every week or so to get the mints closer to as-advertised spec the
fools investomers believed and then threw money at Halong in typical pre-sale frenzy.
God forbid things he comes up with eventually appears in the git for cgminer so Canaan/Avalons can use it... Of course soon after BM's Ants would be using it as well.
No, BM wont use it.
I updated their driver for the S1, S2, S3 all in the public git, with a bunch of fixes, back when the S1, S2 and S3 were around.
Basically, I got their version of the S1 driver module, reformatted it start to finish so it was readable, added a collection of bug fixes, including removing code that could throw away blocks, and they never added any of that to the S1, S2, S3, S5, S7.
They never used the fixes I put in the public git.
Well, it just meant that my version for the S1, S2 and S3 is much better than theirs.
Even a Bitmain guy tried to convince the developers to use the fixes from the git - but they ignored him.
They did make one change in the S9 to stop throwing away blocks ... but I've no idea where they got the idea to actually do that.