The s_axis_input_tready signal is sometimes forced low when it should remain high.
This happens when a single ctrl write occurs, and a new data codeword has not been started with s_axis_input_tvalid prior to, or simultaneously to the write.
This is known issue with v8.0 and v9.0 of the Reed Solomon core. This issue is expected to be fixed in the Vivado 2017.3 release.
Variable block length = true, Variable Number of Check Symbols = true (i.e any configuration where there is an s_axis_ctrl interface).
Assert s_axis_input_tvalid for the data corresponding to a particular control word simultaneously to, or prior to, the s_axis_ctrl_tvalid for that control word.
Alternatively, always make sure at least two control words have been written and are stored in the core prior to any data input corresponding to the first control word.