In the current form this is actually a bug, because of the logic issues above. signal_lost never gets initialized to rc.signal_lost, so a Futaba S.BUS receiver having the failsafe bit set would not be properly handled here.