aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/rc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-18 18:10:05 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-18 18:10:05 -0500
commit3ea369eea07eb64adf36a6fb7fddb5d082c84143 (patch)
tree976e44b7baf67bc1f9837ebed447e4b686ad4187 /drivers/media/rc
parenta310410f616c78f24490de1274487a7b7b137d97 (diff)
parent3cdcf7369cdb3406c61090e453b78cb8d4882ef8 (diff)
Merge branch 'topic/kbuild-fixes-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media build fixes from Mauro Carvalho Chehab: "A series of patches that fix compilation on non-x86 archs. While most of them are just build fixes, there are some fixes for real bugs, as there are a number of drivers using dynamic stack allocation. A few of those might be considered a security risk, if the i2c-dev module is loaded, as someone could be sending very long I2C data that could potentially overflow the Kernel stack. Ok, as using /dev/i2c-* devnodes usually requires root on usual distros, and exploiting it would require a DVB board or USB stick, the risk is not high" * 'topic/kbuild-fixes-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (28 commits) [media] platform drivers: Fix build on frv arch [media] lirc_zilog: Don't use dynamic static allocation [media] mxl111sf: Don't use dynamic static allocation [media] af9035: Don't use dynamic static allocation [media] af9015: Don't use dynamic static allocation [media] dw2102: Don't use dynamic static allocation [media] dibusb-common: Don't use dynamic static allocation [media] cxusb: Don't use dynamic static allocation [media] v4l2-async: Don't use dynamic static allocation [media] cimax2: Don't use dynamic static allocation [media] tuner-xc2028: Don't use dynamic static allocation [media] tuners: Don't use dynamic static allocation [media] av7110_hw: Don't use dynamic static allocation [media] stv090x: Don't use dynamic static allocation [media] stv0367: Don't use dynamic static allocation [media] stb0899_drv: Don't use dynamic static allocation [media] dvb-frontends: Don't use dynamic static allocation [media] dvb-frontends: Don't use dynamic static allocation [media] s5h1420: Don't use dynamic static allocation [media] uvc/lirc_serial: Fix some warnings on parisc arch ...
Diffstat (limited to 'drivers/media/rc')
-rw-r--r--drivers/media/rc/fintek-cir.h4
-rw-r--r--drivers/media/rc/iguanair.c22
-rw-r--r--drivers/media/rc/nuvoton-cir.h4
3 files changed, 10 insertions, 20 deletions
diff --git a/drivers/media/rc/fintek-cir.h b/drivers/media/rc/fintek-cir.h
index 82516a1d39b0..b698f3d2ced9 100644
--- a/drivers/media/rc/fintek-cir.h
+++ b/drivers/media/rc/fintek-cir.h
@@ -76,8 +76,8 @@ struct fintek_dev {
76 } tx; 76 } tx;
77 77
78 /* Config register index/data port pair */ 78 /* Config register index/data port pair */
79 u8 cr_ip; 79 u32 cr_ip;
80 u8 cr_dp; 80 u32 cr_dp;
81 81
82 /* hardware I/O settings */ 82 /* hardware I/O settings */
83 unsigned long cir_addr; 83 unsigned long cir_addr;
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
index b53626ba6f49..fdae05c4f377 100644
--- a/drivers/media/rc/iguanair.c
+++ b/drivers/media/rc/iguanair.c
@@ -308,22 +308,12 @@ static int iguanair_set_tx_carrier(struct rc_dev *dev, uint32_t carrier)
308 cycles = DIV_ROUND_CLOSEST(24000000, carrier * 2) - 308 cycles = DIV_ROUND_CLOSEST(24000000, carrier * 2) -
309 ir->cycle_overhead; 309 ir->cycle_overhead;
310 310
311 /* make up the the remainer of 4-cycle blocks */ 311 /*
312 switch (cycles & 3) { 312 * Calculate minimum number of 7 cycles needed so
313 case 0: 313 * we are left with a multiple of 4; so we want to have
314 sevens = 0; 314 * (sevens * 7) & 3 == cycles & 3
315 break; 315 */
316 case 1: 316 sevens = (4 - cycles) & 3;
317 sevens = 3;
318 break;
319 case 2:
320 sevens = 2;
321 break;
322 case 3:
323 sevens = 1;
324 break;
325 }
326
327 fours = (cycles - sevens * 7) / 4; 317 fours = (cycles - sevens * 7) / 4;
328 318
329 /* magic happens here */ 319 /* magic happens here */
diff --git a/drivers/media/rc/nuvoton-cir.h b/drivers/media/rc/nuvoton-cir.h
index 7c3674ff5ea2..07e83108df0f 100644
--- a/drivers/media/rc/nuvoton-cir.h
+++ b/drivers/media/rc/nuvoton-cir.h
@@ -84,8 +84,8 @@ struct nvt_dev {
84 } tx; 84 } tx;
85 85
86 /* EFER Config register index/data pair */ 86 /* EFER Config register index/data pair */
87 u8 cr_efir; 87 u32 cr_efir;
88 u8 cr_efdr; 88 u32 cr_efdr;
89 89
90 /* hardware I/O settings */ 90 /* hardware I/O settings */
91 unsigned long cir_addr; 91 unsigned long cir_addr;