Re: [PATCH 08/11] [media] ir: Fix IR_MAX_DURATION enforcement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 05, 2015 at 11:27:41AM -0300, Mauro Carvalho Chehab wrote:
> Don't assume that IR_MAX_DURATION is a bitmask. It isn't.

The patch is right, but note that IR_MAX_DURATION is 0xffffffff, and in
all these cases it is being compared to a u32, so it is always false.

Should these statements simply be removed? None of the other drivers
do these checks.


Sean

> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
> 
> diff --git a/drivers/media/rc/redrat3.c b/drivers/media/rc/redrat3.c
> index c83292ad1b34..ec74244a3853 100644
> --- a/drivers/media/rc/redrat3.c
> +++ b/drivers/media/rc/redrat3.c
> @@ -322,7 +322,7 @@ static u32 redrat3_us_to_len(u32 microsec)
>  	u32 result;
>  	u32 divisor;
>  
> -	microsec &= IR_MAX_DURATION;
> +	microsec = (microsec > IR_MAX_DURATION) ? IR_MAX_DURATION : microsec;
>  	divisor = (RR3_CLK_CONV_FACTOR / 1000);
>  	result = (u32)(microsec * divisor) / 1000;
>  
> @@ -380,7 +380,8 @@ static void redrat3_process_ir_data(struct redrat3_dev *rr3)
>  		if (i == 0)
>  			trailer = rawir.duration;
>  		/* cap the value to IR_MAX_DURATION */
> -		rawir.duration &= IR_MAX_DURATION;
> +		rawir.duration = (rawir.duration > IR_MAX_DURATION) ?
> +				 IR_MAX_DURATION : rawir.duration;
>  
>  		dev_dbg(dev, "storing %s with duration %d (i: %d)\n",
>  			rawir.pulse ? "pulse" : "space", rawir.duration, i);
> diff --git a/drivers/media/rc/streamzap.c b/drivers/media/rc/streamzap.c
> index bf4a44272f0e..5a17cb88ff27 100644
> --- a/drivers/media/rc/streamzap.c
> +++ b/drivers/media/rc/streamzap.c
> @@ -152,7 +152,8 @@ static void sz_push_full_pulse(struct streamzap_ir *sz,
>  				sz->signal_last.tv_usec);
>  			rawir.duration -= sz->sum;
>  			rawir.duration = US_TO_NS(rawir.duration);
> -			rawir.duration &= IR_MAX_DURATION;
> +			rawir.duration = (rawir.duration > IR_MAX_DURATION) ?
> +					 IR_MAX_DURATION : rawir.duration;
>  		}
>  		sz_push(sz, rawir);
>  
> @@ -165,7 +166,8 @@ static void sz_push_full_pulse(struct streamzap_ir *sz,
>  	rawir.duration += SZ_RESOLUTION / 2;
>  	sz->sum += rawir.duration;
>  	rawir.duration = US_TO_NS(rawir.duration);
> -	rawir.duration &= IR_MAX_DURATION;
> +	rawir.duration = (rawir.duration > IR_MAX_DURATION) ?
> +			 IR_MAX_DURATION : rawir.duration;
>  	sz_push(sz, rawir);
>  }
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux