[linux-dvb] [PATCH] DST patch for disqec positioner control

Manu Abraham abraham.manu at gmail.com
Sun Apr 30 01:04:15 CEST 2006


Yeasah Pell wrote:
> This patch conditionally enables 5-byte diseqc commands for those card 
> types which have the DST_TYPE_HAS_DISEQC5 capability. It allows my 
> Chaintech DST-1000 card to properly control my positioner.
>
> Signed-off-by: Yeasah Pell <yeasah at schwide.net>
>
> --- a/linux/drivers/media/dvb/bt8xx/dst.c       Fri Apr 28 10:14:45 
> 2006 -0300
> +++ b/linux/drivers/media/dvb/bt8xx/dst.c       Sat Apr 29 15:40:16 
> 2006 -0400
> @@ -1189,9 +1189,14 @@ static int dst_set_diseqc(struct dvb_fro
>
>        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;
>


Looks good, I will apply it alongwith the others.

Thanks,
Manu




More information about the linux-dvb mailing list