aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
Commit message (Collapse)AuthorAge
* V4L/DVB (13216): tda18271: initialize tuner during set_config if ↵Michael Krufky2009-12-05
| | | | | | | | | | | | rf_cal_on_startup is set If rf_cal_on_startup is enabled in the structure passed into tda18271_set_config, and the cal module option isn't disabled, then we should run the initialization and calibration procedures during the tda18271_set_config function call. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13215): tda18271: add support for the set_config methodMichael Krufky2009-12-05
| | | | | | | | Add the set_config method to allow drivers to configure the tda18271 driver options after attach. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13214): tda18271: allow for i2c buses that cant send 16 bytes at onceMichael Krufky2009-12-05
| | | | | | | | | There is already an option for sending 16 byte chunks rather that writing 39 bytes all at once during the tuner's initialization. Some i2c buses can't send 16 bytes at once, so create an option for sending 8 byte chunks. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13188): xc5000: return an error on tuning attempts if firmware not ↵Devin Heitmueller2009-12-05
| | | | | | | | | | | | | loaded Xc5000 tuning attempts shouldn't return zero in the case where the firmware did not load successfully. Thanks to Michael Krufky for pointing out this issue. Cc: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13135): Add support for TeVii remotesIgor M. Liplianin2009-12-05
| | | | | | | | The patch brings infrared remote support for some cx88 based cards. Such as TeVii S460,S420. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13134): Add support for TBS-likes remotesIgor M. Liplianin2009-12-05
| | | | | | | | | | The patch brings infrared remote support for some cx88 based cards. Such as: TeVii S460,S420; Omicom SS4; SatTrade ST4200; TBS 8920,8910; Prof 7300,6200. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13112): tda18271: display some state information in debug outputMichael Krufky2009-12-05
| | | | | | | Display i2c adapter id, address and master / slave role in debug output. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13111): tda18271: more signedness fixesMichael Krufky2009-12-05
| | | | | | | | | Convert tda18271_rf_tracking_filter_cal.rf_[ab][12] from int to s32. Convert tda18271_priv.tm_rfcal from unsigned int to u8. Cast subtractions between u32 values as s32. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13110): tda18271: use temporary variables in ↵Michael Krufky2009-12-05
| | | | | | | | | tda18271_rf_tracking_filters_init Use temporary variables for signed calulations between unsigned values Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13108): tda8290: enable deemphasis_50 module parameterHenk Vergonet2009-12-05
| | | | | | | | | This adds a forgotten module_param macro needed to set a deemphasis of 50us. It is the standard setting for commercial FM radio broadcasts outside the US. Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13099): ir-functions: Export ir_rc5_decode() for use by the cx23885 ↵Andy Walls2009-12-05
| | | | | | | module Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13076): xc5000: make the definition of the FM input part of the ↵Devin Heitmueller2009-12-05
| | | | | | | | | | xc5000 config struct Remove hard-coded definition of the xc5000 FM radio input, making it a parameter passed in when doing the attach call. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13075): xc5000: add FM radio supportBeholder Intl. Ltd. Dmitry Belimov2009-12-05
| | | | | | | | Add FM radio for the xc5000 silicon tuner chip. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13530): Fix wrong parameter order in memsetAlan Cox2009-11-27
| | | | | | | | | | | | | | | | | | Edwin Török found the following: In function ‘memset’, inlined from ‘ir_input_init’ at drivers/media/common/ir-functions.c:67: /home/edwin/builds/linux-2.6/arch/x86/include/asm/string_64.h:61: warning: call to ‘__warn_memset_zero_len’ declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters memset(ir->ir_codes, sizeof(ir->ir_codes), 0); In actual practice the only caller I can find happens to already have cleared the buffer before calling ir_input_init. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13109): tda18271: fix signedness issue in ↵Seth Barry2009-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tda18271_rf_tracking_filters_init While having tda18271 module set with debug=17 (cal & info prints) and cal=0 (delay calibration process until first use) - I discovered that during the calibration process, if the frequency test for 69750000 returned a bcal of 0 (see tda18721-fe.c in tda18271_powerscan func) that the tuner wouldn't be able to pickup any of the frequencies in the range (all the other frequencies bands returned bcal=1). I spent some time going over the code and the NXP's tda18271 spec (ver.4 of it i think) and adding a lot of debug prints and walking/stepping through the calibration process. I found that when the powerscan fails to find a frequency, the rf calibration is not run and the default value is supposed to be used in its place (pulled from the RF_CAL_map table) - but something was getting goofed up there. Now, my c coding skills are very rusty, but i think root of the problem is a signedness issue with the math operation for calculating the rf_a1 and rf_a2 values in tda18271_rf_tracking_filters_init func, which results in values like 20648 for rf_a1 (when it should probably have a value like 0, or so slightly negative that it should be zero - this bad value for rf_a1 would in turn makes the approx calc within tda18271c2_rf_tracking_filters_correction go out of whack). The simplest solution i found was to explicitly convert the signedness of the denominator to avoid the implicit conversion. The values placed into the u32 rf_freq array should never exceed about 900mhz, so i think the s32 max value shouldn't be an issue in this case. I've tested it out a little, and even when i get a bcal=0 with the modified code, the default calibration value gets used, rf_a1 is zero, and the tuner seems to lock on the stream and mythtv seems to play it fine. Signed-off-by: Seth Barry <seth@cyberseth.com> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (13107): tda18271: fix overflow in FM radio frequency calculationMichael Krufky2009-11-07
| | | | | | | | | | | | | | Multiplication by 62500 causes an overflow in the 32 bit freq variable, which is later divided by 1000 when using FM radio. This patch prevents the overflow by scaling the frequency value correctly upfront. Thanks to Henk Vergonet for spotting the problem and providing a preliminary patch, which this changeset was based upon. Cc: Henk Vergonet <Henk.Vergonet@gmail.com> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12964): tuner-core: add support for NXP TDA18271 without TDA829X demodMichael Krufky2009-09-18
| | | | | | | | Add support for NXP TDA18271 as a standalone tuner, allowing the use of analog demodulators other than the Philips/NXP TDA829x. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12950): tuner-simple: add Philips CU1216LAntti Palosaari2009-09-18
| | | | | | | add Philips CU1216L NIM Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12871): tda18271: fix bad data in tda18271_cid_target tableHenk Vergonet2009-09-18
| | | | | | | | | Fixed one value and removed a duplicate in tda18271_cid_target[], based on table 54 "CID_Target_map" in Rev.04 of the TDA18271HD datasheet. Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12870): tda18271: update temperature compensation calculatation formulaHenk Vergonet2009-09-18
| | | | | | | | | | Update the tda18271c2_rf_tracking_filters_correction function to include the modified temperature compensation calculatation formula as described in Rev.04 of the TDA18271HD datasheet. Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12869): tda18271: fix comments and make tda18271_agc debug less verboseMichael Krufky2009-09-18
| | | | | | | | | | Don't display "no agc configuration provided" unless DBG_ADV is set. Fix comments in function, tda18271_agc. This config variable is not for LNA configuration -- it is for external AGC configuration. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12868): tda18271: improve error log in function tda18271_write_regsMichael Krufky2009-09-18
| | | | | | | Display function parameters, idx and len, in error log. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12867): tda18271: ensure that configuration options are set for ↵Michael Krufky2009-09-18
| | | | | | | | | | | | | | multiple instances For the case of multiple tuner instances, ensure that non-default configuration options are saved into the driver's state. This resolves an issue where a configuration option may not be carried into the driver if the analog side of a hybrid driver initializes before the digital side. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12866): tda18271: move small_i2c assignment to the state config blockMichael Krufky2009-09-18
| | | | | | | minor cleanup: move small_i2c assignment to the state config block Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12865): tda18271: move tda18271_sleep directly below tda18271_initMichael Krufky2009-09-18
| | | | | Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12864): tda18271: change output feature configuration to a bitmaskMichael Krufky2009-09-18
| | | | | | | | | | | For better readability, treat the low power standby mode configuration as an output option feature configuration, and change it to a bitmask. If left unconfigured, all features will remain enabled, just as the default configuration was before these changes were introduced. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12863): tda18271: add new standby mode: slave tuner output / loop ↵Michael Krufky2009-09-18
| | | | | | | | | | thru on Add new standby mode: TDA18271_STANDBY_LT_ON = slave tuner output loop thru on w/ xtal osc off Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12862): tda18271: add debug to show which standby mode is in useMichael Krufky2009-09-18
| | | | | Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12861): tda18271: add support for additional low-power standby modesMichael Krufky2009-09-18
| | | | | | | | | | | | | | | | By default, the driver enters standby mode with slave tuner output loop thru enabled and xtal oscillator on. Not all designs require that slave tuner output loop thru and xtal oscillator remain active while in standby mode, so two additional standby modes have been added: - standby mode with xtal oscillator on (loop thru off) - total power off Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12595): common/ir: use a struct for keycode tablesMauro Carvalho Chehab2009-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, V4L uses a scancode table whose index is the scancode and the value is the keycode. While this works, it has some drawbacks: 1) It requires that the scancode to be at the range 00-7f; 2) keycodes should be masked on 7 bits in order for it to work; 3) due to the 7 bits approach, sometimes it is not possible to replace the default keyboard to another one with a different encoding rule; 4) it is different than what is done with dvb-usb approach; 5) it requires a typedef for it to work. This is not a recommended Linux CodingStyle. This patch is part of a larger series of IR changes. It basically replaces the IR_KEYTAB_TYPE tables by a structured table: struct ir_scancode { u16 scancode; u32 keycode; }; This is very close to what dvb does. So, a further integration with DVB code will be easy. While we've changed the tables, for now, the IR keycode handling is still based on the old approach. The only notable effect is the redution of about 35% of the ir-common module size: text data bss dec hex filename 6721 29208 4 35933 8c5d old/ir-common.ko 5756 18040 4 23800 5cf8 new/ir-common.ko In thesis, we could be using above u8 for scancode, reducing even more the size of the module, but defining it as u16 is more convenient, since, on dvb, each scancode has up to 16 bits, and we currently have a few troubles with rc5, as their scancodes are defined with more than 8 bits. This patch itself shouldn't be doing any functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymapMauro Carvalho Chehab2009-09-12
| | | | | | [mchehab@redhat.com: Fix a few wrong IR keymaps] Signed-off-by: Shine Liu <shinel@foxmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12578): tda18271: allow drivers to request RF tracking filter ↵Michael Krufky2009-09-12
| | | | | | | | | | | | | | | | | | calibration during attach On certain master / slave dual tuner configurations, tuning performance improves when the RF tracking filter calibration is performed sequentially. This patch allows for the bridge driver to specify this behavior in the configuration structure at attach-time. The "cal" module option will continue to override this attach-time configuration: set cal=0 to prevent RF tracking filter calibration on startup, and set cal=1 to force it. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Reviewed-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12577): tda18271: remove excess whitespace from tda_foo printk macrosMichael Krufky2009-09-12
| | | | | | | remove excess spacing from the tda_foo printk macros & line things up better Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12576): tda18271: simplify debug printk macrosMichael Krufky2009-09-12
| | | | | | | | | Rename dprintk to tda_dprintk to be consistent with the other tda_foo macros. Move KERN_DEBUG facility level to tda_dprintk. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12573): FM1216MK5 FM radioDmitri Belimov2009-09-12
| | | | | | | | | | | Implement Philips FM1216MK5. 1. Implement get_stereo function. 2. Add correct data byte for FM radio mode Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12567): ir-keymaps: use KEY_CAMERA for snapshotsMauro Carvalho Chehab2009-09-12
| | | | | | | | | | | | | KEY_CAMERA is already used for a long time with webcam drivers to take a picture. On other media drivers, due to the lack of a snapshot button, random KEY codes were sent, being KEY_SHUFFLE the most used one, probably due to cut-and-paste from other remotes, since one of them uses the same key for snapshot and shuffle. The better is to use KEY_CAMERA on all drivers solving this issue. This follows the IR standard map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12566): ir-keymaps: Fix IR mappings for channel and volume +/- keysMauro Carvalho Chehab2009-09-12
| | | | | | | | | Use standard definitions for channel controls, as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers While here, fix a few broken up/down/left/right mappings Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12565): ir-keymaps: standardize timeshift keyMauro Carvalho Chehab2009-09-12
| | | | | | | | Each remote were using a different keycode for timeshift. Use the same keycode for all of them, using the map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12564): ir-keymaps: Replace most KEY_[A-Z] to the proper definitionsMauro Carvalho Chehab2009-09-12
| | | | | | | | | | | | There are several IR's that were using IR to type a letter that it is known by some random application. Instead, the better is to use the standard definitions found at: http://linuxtv.org/wiki/index.php/Remote_Controllers And, if needed, submit a patch for the application to understand the media keys. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12563): ir-keymaps: add a link to the IR standard layout pageMauro Carvalho Chehab2009-09-12
| | | | | | | While we're still discussing it, let's point to the wiki page. In the future, this should be added at V4L2 API spec DocBooks. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12562): ir-keymaps: replace KEY_KP[0-9] to KEY_[0-9]Mauro Carvalho Chehab2009-09-12
| | | | | | | This is needed to match the standard mapping defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers#Remote_Controllers Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12560): Fix a number of EXPORT_SYMBOL warningsMauro Carvalho Chehab2009-09-12
| | | | | | | | | | Make Checkpatch tool happy: -:2349: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable On all cases, it were just a blank line at the wrong place. Yet, fixing it is trivial Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12559): Properly indent comments with tabsMauro Carvalho Chehab2009-09-12
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12558): CodingStyle: Use [0x0f] instead of [ 0x0f ]Mauro Carvalho Chehab2009-09-12
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12557): Use C99 comment CodingStyleMauro Carvalho Chehab2009-09-12
| | | | | | | | | | | | | The ir-keymaps.c has frequent additions. As people tend to copy an old keyboard entry, a bad CodingStyle at an ancient entry may result on a freshly bad CodingStyle patch. So, better to fix the CodingStyle for the entire file. This patch is the first of a series of patches fixing it, generated by some perl magic plus manual handling. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12463): Add support for Compro VideoMate S350 DVB-S PCI card.Igor M. Liplianin2009-09-12
| | | | | | | | Add Compro VideoMate S350 DVB-S driver. The card uses zl10313, zl10039, saa7130 integrated circuits. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS ↵Devin Heitmueller2009-09-12
| | | | | | | | | | | | remote control Add support for the remote control that comes with the Cinergy Hybrid T USB XS Thanks to Jelle de Jong for providing sample hardware to test with. Cc: Jelle de Jong <jelledejong@powercraft.nl> Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12334): tuner-simple: Add an entry for the Partsnic PTI-5NF05 NTSC ↵Andy Walls2009-09-12
| | | | | | | tuner Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12394): cx88: Disable xc3028 power management for Geniatech x8000Devin Heitmueller2009-08-13
| | | | | | | | | | | | | | | A user discovered that the Geniatech x8000 encountered a regression when the xc3028 power management was introduced. The xc3028 never recovers after setting the powerdown register, which is probably because the xc3028 reset GPIO is not properly configured. Since I do not have access to the hardware and thus cannot determine the correct GPIO configuration, just disable xc3028 power management on this board, which fixes the regression. Thanks to user "ritec" for reporting the issue and testing the fix. Cc: rictec <rictec@netcabo.pt> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12341): zl10353 and qt1010: fix stack corruption bugJan Nikitenko2009-08-13
| | | | | | | | | | | | | | | Fixes stack corruption bug present in dump_regs function of zl10353 and qt1010 drivers: the buffer buf was one byte smaller than required - there are 4 chars for address prefix, 16 * 3 chars for dump of 16 eeprom bytes per line and 1 byte for zero ending the string required, i.e. 53 bytes, but only 52 were provided. The one byte missing in stack based buffer buf can cause stack corruption possibly leading to kernel oops, as discovered originally with af9015 driver (af9015: fix stack corruption bug). Signed-off-by: Jan Nikitenko <jan.nikitenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>