I noticed this today when we had a Z-8AI with a dodgy connection (bad USB cable?) and we were getting many CRC validation failures (one every 10s or so). While in this case, we should probably also fix the wiring, if we were to get a CRC failure mid-flight it would be much better to retry the request -- at least once or twice -- rather than closing the device, which will also de facto terminate whatever experiment is in progress.
We do something similar for TC4820. Perhaps we could abstract this functionality? We may also want to do this for the ST10Controller (#921).