diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:10:05 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:10:05 -0500 |
commit | 3ea369eea07eb64adf36a6fb7fddb5d082c84143 (patch) | |
tree | 976e44b7baf67bc1f9837ebed447e4b686ad4187 /drivers/media/rc | |
parent | a310410f616c78f24490de1274487a7b7b137d97 (diff) | |
parent | 3cdcf7369cdb3406c61090e453b78cb8d4882ef8 (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.h | 4 | ||||
-rw-r--r-- | drivers/media/rc/iguanair.c | 22 | ||||
-rw-r--r-- | drivers/media/rc/nuvoton-cir.h | 4 |
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; |