Cc: kernel@xxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx We found that when RKVDEC H.264 decoder encounter a stream error (corruption, or error in the bitstream) the decoder keeps reporting errors in the following (good) frames unless there is some pause before starting a new decoder operation. As a side effect, the decoder is not resilient to errors and this leads to a much worst experience then needed. First patch of this series implement a conservative fix for this, which consist of simply disabling error detection. This method is very resilient to errors, but will completely hide any decoding errors. This mode have been running for years in ChromeOS downstream driver, thus we believe this is that safe approach and the one to backport into stable. The other patches changes the decoding mode from "exit on error" to "keep decoding". Using this mode and re-enabling error detection allow getting error resilience without loosing the ability to report errors to userland. This have showed great results, but might be a little more risky since this is not the mode that the reference code uses and the documentation is very brief. Nicolas Dufresne (5): media: rkvdec: Disable H.264 error detection media: rkvdec: Add an ops to check for decode errors media: rkvdec: Fix RKVDEC_ERR_PKT_NUM macro media: rkvdec: Re-enable H.264 error detection media: rkvdec: Improve error handling drivers/staging/media/rkvdec/rkvdec-h264.c | 19 ++++++++++++- drivers/staging/media/rkvdec/rkvdec-regs.h | 2 +- drivers/staging/media/rkvdec/rkvdec.c | 32 ++++++++++++++++++---- drivers/staging/media/rkvdec/rkvdec.h | 2 ++ 4 files changed, 47 insertions(+), 8 deletions(-) -- 2.36.1