mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
frontends/cxd2843: get_ber_t2() deadlock fix
This commit is contained in:
parent
bb191aa5d7
commit
a6770c8b99
@ -1504,9 +1504,9 @@ static int get_ber_t2(struct cxd_state *state, u32 *n, u32 *d)
|
|||||||
*n = 0;
|
*n = 0;
|
||||||
*d = 1;
|
*d = 1;
|
||||||
freeze_regst(state);
|
freeze_regst(state);
|
||||||
readregst(state, 0x24, 0x40, BERRegs, 4);
|
readregst_unlocked(state, 0x24, 0x40, BERRegs, 4);
|
||||||
readregst(state, 0x22, 0x5e, &FECType, 1);
|
readregst_unlocked(state, 0x22, 0x5e, &FECType, 1);
|
||||||
readregst(state, 0x22, 0x5b, &CodeRate, 1);
|
readregst_unlocked(state, 0x22, 0x5b, &CodeRate, 1);
|
||||||
|
|
||||||
FECType &= 0x03;
|
FECType &= 0x03;
|
||||||
CodeRate &= 0x07;
|
CodeRate &= 0x07;
|
||||||
@ -1514,7 +1514,6 @@ static int get_ber_t2(struct cxd_state *state, u32 *n, u32 *d)
|
|||||||
if (FECType > 1)
|
if (FECType > 1)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
readregst(state, 0x20, 0x72, &Scale, 1);
|
readregst(state, 0x20, 0x72, &Scale, 1);
|
||||||
Scale &= 0x0F;
|
Scale &= 0x0F;
|
||||||
if (BERRegs[0] & 0x01) {
|
if (BERRegs[0] & 0x01) {
|
||||||
@ -1529,6 +1528,7 @@ static int get_ber_t2(struct cxd_state *state, u32 *n, u32 *d)
|
|||||||
}
|
}
|
||||||
*n = state->LastBERNominator;
|
*n = state->LastBERNominator;
|
||||||
*d = state->LastBERDenominator;
|
*d = state->LastBERDenominator;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user