[media] dib8000: report Interleaving 4 correctly
On ISDB-T, the valid values for interleaving are 0, 1, 2 and 4. While the first 3 are properly reported, the last one is reported as 3 instead. Fix it. Tested with a Dektec DTA-2111 RF generator. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: Patrick Boettcher <pboettcher@kernellabs.com>
This commit is contained in:
parent
ad97618704
commit
51fea11342
|
@ -3429,9 +3429,13 @@ static int dib8000_get_frontend(struct dvb_frontend *fe)
|
|||
fe->dtv_property_cache.layer[i].segment_count = val & 0x0F;
|
||||
dprintk("dib8000_get_frontend : Layer %d segments = %d ", i, fe->dtv_property_cache.layer[i].segment_count);
|
||||
|
||||
val = dib8000_read_word(state, 499 + i);
|
||||
fe->dtv_property_cache.layer[i].interleaving = val & 0x3;
|
||||
dprintk("dib8000_get_frontend : Layer %d time_intlv = %d ", i, fe->dtv_property_cache.layer[i].interleaving);
|
||||
val = dib8000_read_word(state, 499 + i) & 0x3;
|
||||
/* Interleaving can be 0, 1, 2 or 4 */
|
||||
if (val == 3)
|
||||
val = 4;
|
||||
fe->dtv_property_cache.layer[i].interleaving = val;
|
||||
dprintk("dib8000_get_frontend : Layer %d time_intlv = %d ",
|
||||
i, fe->dtv_property_cache.layer[i].interleaving);
|
||||
|
||||
val = dib8000_read_word(state, 481 + i);
|
||||
switch (val & 0x7) {
|
||||
|
|
Loading…
Reference in New Issue