I dunno off the top of my head, but: * you've checked the errata? * if you were using async you could use `with_timeout` to force a reset * without, it might be with patching the blocking hal to "give up and reset" after some amount of time to prevent a lockup