Commit 8f6da8f1 authored by Manu Abraham's avatar Manu Abraham Committed by Linus Torvalds

[PATCH] dvb: Fix LNB power switching

Signed-off-by: default avatarManu Abraham <manu@kromtek.com>
Cc: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0eac3e48
...@@ -906,10 +906,7 @@ static int dst_tone_power_cmd(struct dst_state* state) ...@@ -906,10 +906,7 @@ static int dst_tone_power_cmd(struct dst_state* state)
if (state->dst_type == DST_TYPE_IS_TERR) if (state->dst_type == DST_TYPE_IS_TERR)
return 0; return 0;
if (state->voltage == SEC_VOLTAGE_OFF) paket[4] = state->tx_tuna[4];
paket[4] = 0;
else
paket[4] = 1;
if (state->tone == SEC_TONE_ON) if (state->tone == SEC_TONE_ON)
paket[2] = 0x02; paket[2] = 0x02;
...@@ -1062,7 +1059,6 @@ static int dst_set_diseqc(struct dvb_frontend* fe, struct dvb_diseqc_master_cmd* ...@@ -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) static int dst_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage)
{ {
u8 *val;
int need_cmd; int need_cmd;
struct dst_state* state = fe->demodulator_priv; struct dst_state* state = fe->demodulator_priv;
...@@ -1072,25 +1068,19 @@ static int dst_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) ...@@ -1072,25 +1068,19 @@ static int dst_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage)
return 0; return 0;
need_cmd = 0; need_cmd = 0;
val = &state->tx_tuna[0];
val[8] &= ~0x40;
switch (voltage) { switch (voltage) {
case SEC_VOLTAGE_13: case SEC_VOLTAGE_13:
if ((state->diseq_flags & HAS_POWER) == 0)
need_cmd = 1;
state->diseq_flags |= HAS_POWER;
break;
case SEC_VOLTAGE_18: case SEC_VOLTAGE_18:
if ((state->diseq_flags & HAS_POWER) == 0) if ((state->diseq_flags & HAS_POWER) == 0)
need_cmd = 1; need_cmd = 1;
state->diseq_flags |= HAS_POWER; state->diseq_flags |= HAS_POWER;
val[8] |= 0x40; state->tx_tuna[4] = 0x01;
break; break;
case SEC_VOLTAGE_OFF: case SEC_VOLTAGE_OFF:
need_cmd = 1; need_cmd = 1;
state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | ATTEMPT_TUNE); state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | ATTEMPT_TUNE);
state->tx_tuna[4] = 0x00;
break; break;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment