Rebased deassert-hard-reset patch from 3.12 commit c0ec6ca57cb27caaa82f3b5ea2aad794bc7975fe onto 3.13.5