From fbab6f4aec123bb90f559193f2235c88ebf8b02a Mon Sep 17 00:00:00 2001 From: Yeasah Pell Date: Wed, 21 Jun 2006 18:28:13 -0300 Subject: [PATCH] --- yaml --- r: 30057 b: refs/heads/master c: ceee526617a805eea908a59fced26635634c9035 h: refs/heads/master i: 30055: 40f9c56da9ad15b3dc1e6cc3c751993685c6e5d2 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/bt8xx/dst.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f0c1c82589db..3a602ed0191e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9ce8b68fc036275986f005b38660d5d1795af8e8 +refs/heads/master: ceee526617a805eea908a59fced26635634c9035 diff --git a/trunk/drivers/media/dvb/bt8xx/dst.c b/trunk/drivers/media/dvb/bt8xx/dst.c index c538d272cf80..d687a14ec0a7 100644 --- a/trunk/drivers/media/dvb/bt8xx/dst.c +++ b/trunk/drivers/media/dvb/bt8xx/dst.c @@ -1466,9 +1466,12 @@ static int dst_set_diseqc(struct dvb_frontend *fe, struct dvb_diseqc_master_cmd if (state->dst_type != DST_TYPE_IS_SAT) return 0; - if (cmd->msg_len == 0 || cmd->msg_len > 4) + if (cmd->msg_len > 0 && cmd->msg_len < 5) + memcpy(&paket[3], cmd->msg, cmd->msg_len); + else if (cmd->msg_len == 5 && state->dst_hw_cap & DST_TYPE_HAS_DISEQC5) + memcpy(&paket[2], cmd->msg, cmd->msg_len); + else return -EINVAL; - memcpy(&paket[3], cmd->msg, cmd->msg_len); paket[7] = dst_check_sum(&paket[0], 7); dst_command(state, paket, 8); return 0;