1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00

lock ldpc bitrate adjustment to prevent race condition during tuner stop

This commit is contained in:
none 2021-03-09 14:23:06 +01:00
parent b025599e9f
commit 7af71dfdcb

View File

@ -147,11 +147,14 @@ static int read_status(struct dvb_frontend *fe, enum fe_status *status)
if (res.status == MCI_DEMOD_LOCKED) { if (res.status == MCI_DEMOD_LOCKED) {
*status = 0x1f; *status = 0x1f;
if (state->mci.signal_info.dvbs2_signal_info.standard == 2) { if (state->mci.signal_info.dvbs2_signal_info.standard == 2) {
mutex_lock(&mci_base->tuner_lock);
if (state->started)
sx8_base->used_ldpc_bitrate[state->mci.nr] = sx8_base->used_ldpc_bitrate[state->mci.nr] =
p->symbol_rate * p->symbol_rate *
dvbs2_bits_per_symbol[ dvbs2_bits_per_symbol[
state->mci.signal_info. state->mci.signal_info.
dvbs2_signal_info.pls_code]; dvbs2_signal_info.pls_code];
mutex_unlock(&mci_base->tuner_lock);
} else } else
sx8_base->used_ldpc_bitrate[state->mci.nr] = 0; sx8_base->used_ldpc_bitrate[state->mci.nr] = 0;
} }