If the CRC value in a token, data, or SOF packet doesn't match, the receiver doesn't return ACK and the sender knows it has to retry. This requires no firmware intervention.
If the data toggle is wrong, the receiver ignores the data and returns ACK to re-synchronize with the sender. Depending on the hardware, this may require firmware control.
Jan