This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/media_tree.git tree:

Subject: [media] ir: Fix IR_MAX_DURATION enforcement
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Fri Jun 5 10:25:24 2015 -0300

Don't assume that IR_MAX_DURATION is a bitmask. It isn't.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/rc/redrat3.c   |    5 +++--
 drivers/media/rc/streamzap.c |    6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

---

http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=95cf60aa55d5395a10d0e67a711e42693b89fb1c

diff --git a/drivers/media/rc/redrat3.c b/drivers/media/rc/redrat3.c
index c83292a..ec74244 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 bf4a442..5a17cb8 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);
 }
 

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to