fix bug in updating WF state when updating reservation mode, separate out function to update FW state