summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
AgeCommit message (Collapse)Author
2009-06-16cx88: Properly support Leadtek TV2000 XP GlobalMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Fix Leadtek TV2000 XP Global entries and add missing PCI ID's. Thanks to Terry Wu <terrywu2009@gmail.com> for pointing us for the proper settings. Priority: normal CC: Terry Wu <terrywu2009@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16poll method lose race conditionMauro Carvalho Chehab
From: Figo.zhang <figo1802@gmail.com> bttv-driver.c,cx23885-video.c,cx88-video.c: poll method lose race condition for capture video. Signed-off-by: Figo.zhang <figo1802@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-04Add missing __devexit_p()Mauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Add missing __devexit_p() to several drivers. Also add a few missing __init, __devinit and __exit markers. These errors could result in build failures depending on the kernel configuration. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-03Partially backport changeset 5ec629d784adMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> By mistake, I've committed a changeset that it is not done yet together with a fix. Revert the broken part of the old changeset. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-01tuner-xc3028: fix frequency offsetMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> The last changeset has an else missing, causing wrong frequencies for DTV6. Thanks to Terry Wu <terrywu2009@gmail.com> for pointing the issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-01merge: http://linuxtv.org/hg/~tap/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-30cx88: Use v4l bounding/alignment functionTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l function has a better algorithm for aligning image size. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-05-27Building system: Restore compilation with kernels older than 2.6.29Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Mostly due to ir-kdb-i2c, but also due to two new drivers, compilation with kernels older than 2.6.29 were broken. This quick and dirty changeset, generated semi-automatically, restaures backport to the subsystem by adding lots of #ifs. It is possible to write a much more small changeset that would restore backport without adding so many ifs, but, due to the lack of time, this will also solve it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-31Adds support for Leadtek WinFast DTV-1800HMauro Carvalho Chehab
From: Miroslav Sustek <sustmidown@centrum.cz> Enables analog/digital tv, radio and remote control (gpio). Signed-off-by: Miroslav Sustek <sustmidown@centrum.cz> Tested-by: Marcin Wojcikowski <emtees.mts@gmail.com> Tested-by: Karel Juhanak <karel.juhanak@warnet.cz> Tested-by: Andrew Goff <goffa72@gmail.com> Tested-by: Jan Novak <novak-j@seznam.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-18minor have assigned value twiceMauro Carvalho Chehab
From: figo.zhang <figo.zhang@kolorific.com> The variable minor have assigned value twice, the first time is in the initial "video_device" data struct in those drivers, pls see saa7134-video.c,line 2503. --- Signed-off-by: Figo.zhang <figo.zhang@kolorific.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-13ir-kbd-i2c: Switch to the new-style device binding modelMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Let card drivers probe for IR receiver devices and instantiate them if found. Ultimately it would be better if we could stop probing completely, but I suspect this won't be possible for all card types. There's certainly room for cleanups. For example, some drivers are sharing I2C adapter IDs, so they also had to share the list of I2C addresses being probed for an IR receiver. Now that each driver explicitly says which addresses should be probed, maybe some addresses can be dropped from some drivers. Also, the special cases in saa7134-i2c should probably be handled on a per-board basis. This would be more efficient and less risky than always probing extra addresses on all boards. I'll give it a try later. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-14cx88: remove xc5000 reset for Pinnacle 800iDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> According to the engineer at PCTV Systems, the xc5000 reset pin is supposed to be on GPIO12. However, despite three nights of effort, pulling that GPIO low didn't reset the xc5000. While pulling MO_SRST_IO low does reset the xc5000, this also resets in the s5h1409 being reset as well. This causes tuning to always fail since the internal state of the s5h1409 does not match the driver's state. Given that the only two conditions in which the driver performs a reset is during firmware load and powering down the chip, I am taking out the reset. We know that the chip is being reset when the cx88 comes online, and not being able to do power management for this board is better than not having any tuning at all. Problem discovered when implementing proper power management for the xc5000, which results in calls to the reset callback *after* s5h1409 is initialized. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Steven Toth <stoth@kernellabs.com> Cc: Chaogui Zhang <czhang1974@gmail.com>
2009-04-28cx88: Fix race condition between cx8800 startup and haldDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> A power management fix to properly put the xc5000 into low power mode revealed a race condition where hald could detect the creation of the device file and connect to the device while the initial device configuration is still in progress. Lock the core structure so that video_release cannot be called and put the tuner to sleep in the middle of the initial call to cx88_set_tvnorm() in cx8800_initdev() Thanks to Michael Krufky for discovering the issue and providing an environment to test in. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Michael Krufky <mkrufky@linuxtv.org>
2009-04-29Enabling of the Winfast TV2000 XP Global TV capture card remote controlMauro Carvalho Chehab
From: Pieter Van Schaik <vansterpc@gmail.com> This patch is for supporting the remote control of the Winfast TV2000 XP Global TV capture card. A case statement was added in order to initialize the GPIO data structures as well as a case statement for handling the keys correctly when pressed. Thanks to Hermann and Mauro for all the help Signed-off-by: Pieter C van Schaik <vansterpc@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-28cx88: Add support for the Hauppauge IROnly board.Steven Toth
From: Steven Toth <stoth@linuxtv.org> cx88: Add support for the Hauppauge IROnly board. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2009-04-14backport a few minor cleanupsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-14backport commit 758021bfa9ea25c58e62d2f68512628b19502ce7Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Takashi Iwai <tiwai@suse.de> Date: Mon Jan 12 15:17:09 2009 +0100 drivers/media: Convert to snd_card_create() Convert from snd_card_new() to the new snd_card_create() function. While here, backport also cx231xx-audio upstream changes for using snd_card_create(). kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-14backport commit 284901a90a9e0b812ca3f5f852cbbfb60d10249dMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Yang Hongyang <yanghy@cn.fujitsu.com> Date: Mon Apr 6 19:01:15 2009 -0700 dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-08cx88-dsp: fixing 64bit math on 32bit kernelsMauro Carvalho Chehab
From: Miroslav Sustek <sustmidown@centrum.cz> Signed-off-by: Miroslav Sustek <sustmidown@centrum.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06cx88-dsp: fixing 64bit mathMauro Carvalho Chehab
From: Miroslav Sustek <sustmidown@centrum.cz> cx88-dsp: fixing 64bit math on 32bit kernels Some gcc versions report the missing of __divdi3 Signed-off-by: Miroslav Sustek <sustmidown@centrum.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06Add a missing cx88-dsp fileMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This file were supposed to be included on changeset 11394:0eba67ef42ba. However, it weren't. Sorry for the mess. I'll merge this one with the original changeset at -git. This is the original description that also applies to this file: - cx88: Add support for stereo and sap detection for A2 - From: Marton Balint <cus@fazekas.hu> The patch implements reliable stereo and sap detection for the A2 sound standard. This is achieved by processing the samples of the audio RDS fifo of the cx2388x chip. A2M, EIAJ and BTSC stereo/sap detection is also possible with this new approach, but it's not implemented yet. Stereo detection when alsa handles the sound also does not work yet. Priority: normal Signed-off-by: Marton Balint <cus@fazekas.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-31cx88: avoid reprogramming every audio register on A2 stereo/mono changeMauro Carvalho Chehab
From: Marton Balint <cus@fazekas.hu> This patch changes cx88_set_stereo to avoid resetting all of the audio registers on stereo/mono change if the audio standard is A2, and set only the AUD_CTL register. The benefit of this method is that it eliminates the annoying clicking noise on setting the audio mode to stereo or mono. The driver had used the same method 1.5 years ago (and for FM radio it still does), but a pretty big cleanup commit changed it to the "complete audio reset" method, although the reason for this move was not clear. (If somebody knows why it was necessary, please let me know!) The original commit: http://linuxtv.org/hg/v4l-dvb/rev/ffe313541d7d Priority: normal Signed-off-by: Marton Balint <cus@fazekas.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-31cx88: audio thread: if stereo detection is hw supported don't do it manuallyMauro Carvalho Chehab
From: Marton Balint <cus@fazekas.hu> The sole purpose of the audio thread is to detect if stereo transmission is available, and if it is, then switch to stereo mode (and switch back, if it's no longer available). This manual autodetection is useful for some audio standards (e.g. A2) where cx88_get_stereo CAN detect stereo sound, but the cx2388x chip CANNOT auto-detect stereo sound. However, for other audio standards, the cx2388x chip CAN auto-detect the stereo sound, so the manual autodetection in the audio thread is not needed. In fact, it can cause serious problems because for some of these audio standards, cx88_get_stereo CANNOT detect the presence of stereo sound. Besides that, if the hardware automatically detects stereo/mono sound, you cannot set core->audiomode_current to the real current audio mode on channel change. With this patch, the manual autodetection is only used if audiomode_current is known after a channel change (because of the initial mono mode), and hardware-based stereo autodetecion is not applicable for the current audio standard. Priority: normal Signed-off-by: Marton Balint <cus@fazekas.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-31cx88: Add support for stereo and sap detection for A2Mauro Carvalho Chehab
From: Marton Balint <cus@fazekas.hu> The patch implements reliable stereo and sap detection for the A2 sound standard. This is achieved by processing the samples of the audio RDS fifo of the cx2388x chip. A2M, EIAJ and BTSC stereo/sap detection is also possible with this new approach, but it's not implemented yet. Stereo detection when alsa handles the sound also does not work yet. Priority: normal Signed-off-by: Marton Balint <cus@fazekas.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-02v4l2-subdev: change s_routing prototypeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It is no longer needed to use a struct pointer as argument, since v4l2_subdev doesn't require that ioctl-like approach anymore. Instead just pass the input, output and config (new!) arguments directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l: increase version numbers of drivers converted to v4l2_subdev.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> With all the v4l2_subdev changes that were made to these drivers it is a good idea to increase the version number of each driver. It's just the patch level that is increased, except for the zoran and saa7146 drivers where the minor number was increased due to the more substantial changes that were made to those two drivers. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2: use v4l2_i2c_new_probed_subdev_addr where appropriate.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-common: add explicit v4l2_device pointer as first arg to ↵Hans Verkuil
new_(probed)_subdev From: Hans Verkuil <hverkuil@xs4all.nl> The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on i2c_get_adapdata to return the v4l2_device. However, this is not always possible on embedded platforms. So modify the API to pass the v4l2_device pointer explicitly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2: use old-style i2c API for kernels < 2.6.26 instead of < 2.6.22Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Originally the intention was to switch to the new style i2c API starting with the introduction of the API in 2.6.22. However, the i2c_new_probed_device() function has a lethal bug that wasn't fixed until 2.6.25. Or more accurately, it was only fixed in the stable series of 2.6.25 and 2.6.26. Given the fact that the new i2c API also changed starting with 2.6.26 (the addition of i2c_device_id), it is easiest to switch APIs starting with 2.6.26. This patch updates all the legacy code accordingly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_std from tuner to core.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_std didn't belong in the tuner ops. Stricly speaking it should be part of the video ops, but it is used by audio and tuner devices as well, so it is more efficient to make it part of the core ops. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_standby from core to tuner.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_standby is only used to put the tuner in powersaving mode, so move it from core to tuner. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30cx88: Fix compilation breakage for kernels older than 2.6.22Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29cx88: prevent probing rtc and ir devicesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> tuner-core.c contains a hack for cx88 board to prevent probing of certain addresses: /* HACK: Ignore 0x6b and 0x6f on cx88 boards. * FusionHDTV5 RT Gold has an ir receiver at 0x6b * and an RTC at 0x6f which can get corrupted if probed. */ With the new i2c API this hack no longer works. So instead change the list of tuner probe addresses in the cx88 driver itself, which is much more clean. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29cx88: convert to v4l2_subdev.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Convert cx88 to use v4l2_subdev since the old i2c autoprobing mechanism will be removed. Added code to explicitly load tvaudio where needed. Also fix the rtc-isl1208 support: since that driver no longer supports autoprobing it has to be loaded using the new i2c API. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-28cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_capTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the 'type' field since it must already be set to VIDEO_CAPTURE. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-26[PATCH] cx88: Missing failure checksMauro Carvalho Chehab
From: Alan Cox <alan@lxorguk.ukuu.org.uk> The ioremap one was reported in October 2007 (Bug 9146), the kmalloc one was blindingly obvious while looking at the ioremap one The bug suggests some other configuration for lots of I/O memory (32MB per device is ioremapped) but I'll leave that to the real maintainers Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-20Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISEMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> There are several Kconfig items using CUSTOMIZE. Yet, most use the English writing CUSTOMISE. This generates lots of trouble, because people sometimes type the Kbuild item different. Let's standardise every occurrence using the same syntax. The changes were generated by this small shell script: for i in `find linux -type f`; do sed s,CUSTOMIZE,CUSTOMISE,g $i >/tmp/a && mv /tmp/a $i; done Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-14cx88: convert to v4l2_device.Mauro Carvalho Chehab
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-10Add support for Terratec Cinergy HT PCI MKIIMauro Carvalho Chehab
From: Stephan Wienczny <Stephan@wienczny.de> This patch adds support for Terratec Cinergy HT PCI MKII with card id 79. Its more or less a copy of Pinnacle Hybrid PCTV. Thanks to k1ngf1sher on forum.ubuntuusers.de for the idea to copy that card. Priority: normal Signed-off-by: Stephan Wienczny <stephan@wienczny.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-07cx88: Prevent general protection fault on rmmodMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> When unloading the cx8800 driver I sometimes get a general protection fault. Analysis revealed a race in cx88_ir_stop(). It can be solved by using a delayed work instead of a timer for infrared input polling. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-11Backout changeset, in favor of rev2 of the patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-05cx88: Prevent general protection fault on rmmodMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> When unloading the cx8800 driver I sometimes get a general protection fault. Analysis revealed a race in cx88_ir_stop(). It can be solved by using a delayed work instead of a timer for infrared input polling. This fixes kernel.org bug #12802. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-10merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-10avoid loading the entire videodev.h header for drivers that are already V4L2 ↵Mauro Carvalho Chehab
only From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-06cx88-alsa: fix compile warning for kernels <=2.6.20.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-01cx88: Add IR support to pcHDTV HD3000 & HD5500Mauro Carvalho Chehab
From: Erik S. Beiser <erikb@bu.edu> cx88: Add IR support to pcHDTV HD3000 & HD5500 Signed-off-by: Erik S. Beiser <erikb@bu.edu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-03cx88: Don't need to zero ioctl parameter fieldsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_input and g_tuner. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-03cx88: remove unnecessary forward declaration of cx88_coreTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> A recent patch added a forward declaration of cx88_core right before the main definition of that structure, which is obviously unneeded. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-02-13v4l2-common: add comments warning that about the sort orderHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Control arrays as are used with v4l2_ctrl_next must be sorted from low to high. Add a comment at the top of all such arrays to warn about this. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-12cx88-dvb: Fix order of frontend allocationsMauro Carvalho Chehab
From: Andy Walls <awalls@radix.net> On Fri, 2009-01-09 at 15:40 +0300, Goga777 wrote: > With today v4l-dvb I couldn't run my hvr4000 card on 2.6.27 kernel > [ 14.555162] cx88/2: cx2388x dvb driver version 0.0.6 loaded > [ 14.555231] cx88/2: registering cx8802 driver, type: dvb access: shared > [ 14.555303] cx88[0]/2: subsystem: 0070:6900, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=68] > [ 14.555374] cx88[0]/2: cx2388x based DVB/ATSC card > [ 14.555446] BUG: unable to handle kernel NULL pointer dereference at 00000000 > [ 14.555560] IP: [<c02e6bff>] __mutex_lock_common+0x3c/0xe4 > [ 14.555652] *pde = 00000000 > [ 14.555735] Oops: 0002 [#1] SMP > [ 14.555851] Modules linked in: cx88_dvb(+) cx88_vp3054_i2c videobuf_dvb wm8775 dvb_core tuner_simple tuner_types snd_seq_dummy tda9887 snd_seq_oss(+) snd_intel8x0(+) tda8290 snd_seq_midi snd_seq_midi_event snd_ac97_codec cx88_alsa(+) snd_seq ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_rawmidi snd_timer tuner snd_seq_device psmouse snd serio_raw ivtv(+) cx8800 cx8802 cx88xx soundcore cx2341x ir_common ns558 i2c_i801 v4l2_common videodev i2c_algo_bit gameport v4l1_compat snd_page_alloc tveeprom pcspkr floppy videobuf_dma_sg videobuf_core btcx_risc i2c_core parport_pc parport button intel_agp agpgart shpchp pci_hotplug rng_core iTCO_wdt sd_mod evdev usbhid hid ff_memless ext3 jbd mbcache ide_cd_mod cdrom ide_disk ata_piix libata dock 8139too usb_storage scsi_mod piix 8139cp mii ide_core uhci_hcd ehci_hcd usbcore thermal processor fan thermal_sys > [ 14.557013] > [ 14.557013] Pid: 2310, comm: modprobe Not tainted (2.6.27.1-custom-default1 #1) > [ 14.557013] EIP: 0060:[<c02e6bff>] EFLAGS: 00010246 CPU: 1 > [ 14.557013] EIP is at __mutex_lock_common+0x3c/0xe4 > [ 14.557013] EAX: de653e98 EBX: de739118 ECX: de739120 EDX: 00000000 > [ 14.557013] ESI: dd4209e0 EDI: de73911c EBP: de653eb0 ESP: de653e88 > [ 14.557013] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > [ 14.557013] Process modprobe (pid: 2310, ti=de652000 task=dd4209e0 task.ti=de652000) > [ 14.557013] Stack: 3535352e 5d343733 00000002 de739120 de739120 00000000 c044a6c0 de739110 > [ 14.557013] de739118 00000001 de653ebc c02e6d38 c02e6b88 de653ec4 c02e6b88 de653ed8 > [ 14.557013] e1ac7115 de6a9000 00000001 00000000 de653f0c e1aeca62 de739004 de739000 > [ 14.557013] Call Trace: > [ 14.557013] [<c02e6d38>] ? __mutex_lock_slowpath+0x17/0x1a > [ 14.557013] [<c02e6b88>] ? mutex_lock+0x12/0x14 > [ 14.557013] [<c02e6b88>] ? mutex_lock+0x12/0x14 > [ 14.557013] [<e1ac7115>] ? videobuf_dvb_get_frontend+0x19/0x40 [videobuf_dvb] > [ 14.557013] [<e1aeca62>] ? cx8802_dvb_probe+0xc9/0x1945 [cx88_dvb] > [ 14.557013] [<e09ee41e>] ? cx8802_register_driver+0xbd/0x1ac [cx8802] > [ 14.557013] [<e09ee467>] ? cx8802_register_driver+0x106/0x1ac [cx8802] > [ 14.557013] [<e1aee37f>] ? dvb_init+0x22/0x27 [cx88_dvb] > [ 14.557013] [<c0101132>] ? _stext+0x42/0x11a > [ 14.557013] [<e1aee35d>] ? dvb_init+0x0/0x27 [cx88_dvb] > [ 14.557013] [<c013d2ca>] ? __blocking_notifier_call_chain+0xe/0x51 > [ 14.557013] [<c014970b>] ? sys_init_module+0x8c/0x17d > [ 14.557013] [<c0103b42>] ? syscall_call+0x7/0xb > [ 14.557013] [<c013007b>] ? round_jiffies_relative+0x14/0x16 > [ 14.557013] ======================= > [ 14.557013] Code: 78 04 89 f8 89 55 e0 64 8b 35 00 30 3f c0 e8 2e 0c 00 00 8d 43 08 89 45 e4 8b 53 0c 8d 45 e8 8b 4d e4 89 43 0c 89 4d e8 89 55 ec <89> 02 89 75 f0 83 c8 ff 87 03 48 74 55 8a 45 e0 8b 4d e0 83 e0 > [ 14.557013] EIP: [<c02e6bff>] __mutex_lock_common+0x3c/0xe4 SS:ESP 0068:de653e88 > [ 14.565211] ---[ end trace 94d8b014e067ac7b ]--- This patch provides a proper locking for frontends allocation Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>