diff options
author | Manu Abraham <devnull@localhost> | 2005-05-26 20:12:21 +0000 |
---|---|---|
committer | Manu Abraham <devnull@localhost> | 2005-05-26 20:12:21 +0000 |
commit | 14a73bc1c9eef4432f4e8b1ad62c8557a65835e4 (patch) | |
tree | 5bccee60269ac119b5d0779c3ae48cd6f8cb6f24 /linux/drivers/media/dvb/bt8xx/dst.c | |
parent | c5e76a19c81d97e50d735213df14fad426503d77 (diff) | |
download | mediapointer-dvb-s2-14a73bc1c9eef4432f4e8b1ad62c8557a65835e4.tar.gz mediapointer-dvb-s2-14a73bc1c9eef4432f4e8b1ad62c8557a65835e4.tar.bz2 |
Fix bug in LNB Power switching
Signed-off-by: Manu Abraham <manu@kromtek.com>
Diffstat (limited to 'linux/drivers/media/dvb/bt8xx/dst.c')
-rw-r--r-- | linux/drivers/media/dvb/bt8xx/dst.c | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/linux/drivers/media/dvb/bt8xx/dst.c b/linux/drivers/media/dvb/bt8xx/dst.c index e5e8c3e86..33cca69d6 100644 --- a/linux/drivers/media/dvb/bt8xx/dst.c +++ b/linux/drivers/media/dvb/bt8xx/dst.c @@ -906,10 +906,7 @@ static int dst_tone_power_cmd(struct dst_state* state) if (state->dst_type == DST_TYPE_IS_TERR) return 0; - if (state->voltage == SEC_VOLTAGE_OFF) - paket[4] = 0; - else - paket[4] = 1; + paket[4] = state->tx_tuna[4]; if (state->tone == SEC_TONE_ON) paket[2] = 0x02; @@ -1062,7 +1059,6 @@ static int dst_set_diseqc(struct dvb_frontend* fe, struct dvb_diseqc_master_cmd* static int dst_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) { - u8 *val; int need_cmd; struct dst_state* state = fe->demodulator_priv; @@ -1072,29 +1068,23 @@ static int dst_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) return 0; need_cmd = 0; - val = &state->tx_tuna[0]; - val[8] &= ~0x40; switch (voltage) { - case SEC_VOLTAGE_13: - if ((state->diseq_flags & HAS_POWER) == 0) - need_cmd = 1; - state->diseq_flags |= HAS_POWER; - break; + case SEC_VOLTAGE_13: + case SEC_VOLTAGE_18: + if ((state->diseq_flags & HAS_POWER) == 0) + need_cmd = 1; + state->diseq_flags |= HAS_POWER; + state->tx_tuna[4] = 0x01; + break; - case SEC_VOLTAGE_18: - if ((state->diseq_flags & HAS_POWER) == 0) + case SEC_VOLTAGE_OFF: need_cmd = 1; - state->diseq_flags |= HAS_POWER; - val[8] |= 0x40; - break; - - case SEC_VOLTAGE_OFF: - need_cmd = 1; - state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | ATTEMPT_TUNE); - break; + state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | ATTEMPT_TUNE); + state->tx_tuna[4] = 0x00; + break; - default: - return -EINVAL; + default: + return -EINVAL; } if (need_cmd) dst_tone_power_cmd(state); |