04 Jul, 2007

4 commits

  • if the call to budget_register() fails in ttpci_budget_int(),
    ttpci_budget_init() returns success. The attached patch will
    fix this problem.

    Signed-off-by: Hartmut Birr
    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Hartmut Birr
     
  • Spotted and tested by Thomas Sattler .

    cinergyT2.c does cancel_delayed_work() + flush_scheduled_work() while
    holding cinergyt2->sem. This leads to deadlock because work->func()
    needs the same mutex to complete. Another bug is that this code in fact
    can't reliably stop the re-arming delayed_work.

    Convert this code to use cancel_rearming_delayed_work() and move it
    out of ->sem. Another mutex, ->wq_sem, was added to protect against the
    concurrent open/resume.

    This patch is a horrible hack to fix the lockup which happens in practice.
    As Dmitry Torokhov pointed out this driver has other problems and needs
    further changes.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Mauro Carvalho Chehab

    Oleg Nesterov
     
  • v4l-info and other programs would loop indefinitely while querying the
    tuners for cx88-blackbird cards.

    The cause was that vidioc_g_tuner didn't return an error value for
    qctrl->id != 0, making the application think there is a never ending
    list of tuners...

    This patch adds the same index check as done in vidioc_g_tuner() in
    cx88-video.

    Signed-off-by: Jelle Foks
    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Jelle Foks
     
  • If one uses a V4L *one* application, such as vlc or mplayer's v4l driver, as
    the first user after the driver is loaded, the driver wedges itself and will
    never capture properly. Even if one uses a V4L2 application later, it still
    won't work.

    If one uses a V4L *two* application first, such as tvtime or mplayer's v4l2
    driver, then the driver will be ok. One can then run a V4L1 application, and
    it will work.

    It turns out the problem is with norm changing and the crop support that was
    added in 2.6.21. The driver defaults to PAL, and keeps the last norm it was
    set too across opens. If one changes the norm via V4L1, the cropping
    parameters are not reset like they should be, and they'll remain broken across
    device opens.

    This patch removes the direct setting of btv->tvnorm in the V4L1 ioctl
    VIDIOCSCHAN handler. The norm is set via the existing call to set_input(),
    which calls set_tvnorm(), which will reset the cropping values now that it is
    able to detect the norm change.

    Signed-off-by: Trent Piepho
    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     

29 Jun, 2007

2 commits

  • This patch changes the test for the thread pid from >= 0 to > 0.

    When the saa8134 driver initialization fails after a certain point, it goes
    through the complete shutdown process for the driver. Part of shutting it
    down includes tearing down the thread for tv audio.

    The test for tearing down the thread tests for >= 0. Since the dev
    structure is kzalloc'd, the test will always be true if we haven't tried to
    start the thread yet. We end up waiting on pid 0 to complete, which will
    never happen, so we lock up.

    This bug was observed in Novell Bugzilla 284718, when request_irq() failed.

    Signed-off-by: Jeff Mahoney
    Acked-by: Mauro Carvalho Chehab
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     
  • If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on
    (tristate)BAZ, build problems will result. If BAZ=m, then BAR can be set
    y, which allows FOO=y. It's possible to have FOO=y && BAZ=m, which
    wouldn't be allowed if FOO depended directly on BAZ. In effect, the bool
    promotes the tristate from m to y.

    This ends up causing a problem with several menuconfigs that look like:

    menuconfig BAR
    bool
    depends on BAZ [tristate]
    if BAR
    config FOO
    tristate
    endif

    The solution used here is to add the dependencies of BAR to the if
    statement, so that items in the if block will gain a direct
    non-bool-promoted dependency on BAZ. This is how it would work if a menu
    was used instead of an if block.

    Signed-off-by: Trent Piepho
    Acked-by: Mauro Carvalho Chehab
    Cc: "David S. Miller"
    Acked-by: Jeff Garzik
    Cc: Dominik Brodowski
    Cc: Chas Williams
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Trent Piepho
     

08 Jun, 2007

11 commits

  • Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • This patch moves flexcop-dma (currently used only by flexcop-pci) to
    b2c2-flexcop-pci module, that is dependent on CONFIG_PCI, fixing the bug
    as reported by Geert Uytterhoeven :

    drivers/media/dvb/b2c2/flexcop-dma.c uses the PCI DMA API, but
    DVB_B2C2_FLEXCOP doesn't depend on PCI, causing the following problem on
    PCI-less systems:

    | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'
    | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'

    Apparently this is the flexcop DMA core, which is used by both
    DVB_B2C2_FLEXCOP_PCI and DVB_B2C2_FLEXCOP_USB.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Signed-off-by: Jose Alberto Reguero
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • The VIDIOC_CROPCAP ioctl was missing in ivtv.
    The handling of output video cropping was wrong. This has now been fixed.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • V4L2_CAP_VIDEO_OUTPUT_POS was initially introduced for 2.6.22 but never
    actually used: remove it before the final 2.6.22 is made.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • - fixed the urb allocation part that was not taking into account the current alternate setting
    this fixes usb_submit_urb returning -90 errno in isocIrq.
    - fixed usb_submit_urb returning -1 errno in isocIrq (need to ignore usb urb with status==-ENOENT)
    Acked-by: Dwaine P. Garden

    Signed-off-by: Thierry Merle
    Signed-off-by: Mauro Carvalho Chehab

    Thierry Merle
     
  • Several people reported unreliable reception with the current driver.
    Furthermore, STR and SNR values seem to be inverted.
    This fix is based on a patch posted by Hartmut Hackman.
    Thanks to Helmut Auer for testing and helping to optimize the patch.
    tda826x:
    - set baseband cut-off to 19 MHz
    tda10086:
    - change the parameters of the carrier recovery loop
    - toggle register 0x02 between 0x35 (tuning) and 0x00 (locked)
    - invert STR and SNR values

    Signed-off-by: Oliver Endriss
    Signed-off-by: Mauro Carvalho Chehab

    Oliver Endriss
     
  • Sliced VBI transfers use PIO instead of DMA. This was done inside the
    interrupt handler, but since PIO accesses are very slow this meant that
    a lot of time was spent inside the interrupt handler. All PIO copies are
    now moved to a workqueue. This should fix various issues with missing time
    ticks and remote key hits.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • If this mutex_lock_interruptible() does fail due to signal_pending() then the
    state of the driver will get trashed in interesting ways, because userspace
    cannot and will not retry the close().

    Signed-off-by: Andrew Morton
    Signed-off-by: Mauro Carvalho Chehab

    Andrew Morton
     
  • If the SAA7111 device is powered down, and requires re-initialisation when
    the V4L device is opened (as on the NetWinder), the SAA7111 driver gets
    completely confused about the current settings.

    The problem is centred around the way the driver keeps _two_ cached copies
    of the current settings - one of the struct video_picture settings, and one
    of the registers.

    When the decoder is re-initailised, the cached register settings are
    overwritten, as are the values in the hardware registers. However, the
    cached video_picture settings are not.

    Resolve this by removing the useless and buggy second level of caching for
    video_picture. Instead, provide a function which updates register values
    if and only if the value we are going to write to the register has changed.

    Signed-off-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Mauro Carvalho Chehab

    Russell King
     
  • The recent changes on Kconfig broke compilation when VIDEO_DEV is compiled
    as module. On some cases, drivers like VIDEO_BUF are compiled with 'y' option
    instead of 'm':

    ...

    Thanks to: Toralf Forster for pointing this issue.
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

23 May, 2007

8 commits


16 May, 2007

1 commit


12 May, 2007

1 commit

  • * 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (44 commits)
    V4L/DVB (5571): V4l1-compat: Make VIDIOCSPICT return errors in a useful way
    V4L/DVB (5624): Radio-maestro.c cleanup
    V4L/DVB (5623): Dsbr100.c Replace usb_dsbr100_do_ioctl to use video_ioctl2
    V4L/DVB (5622): Radio-zoltrix.c cleanup
    V4L/DVB (5621): Radio-cadet.c Replace cadet_do_ioctl to use video_ioctl2
    V4L/DVB (5619): Dvb-usb: fix typo
    V4L/DVB (5618): Cx88: Drop the generic i2c client from cx88-vp3054-i2c
    V4L/DVB (5617): V4L2: videodev, allow debugging
    V4L/DVB (5614): M920x: Disable second adapter on LifeView TV Walker Twin
    V4L/DVB (5613): M920x: loosen up 80-col limit
    V4L/DVB (5612): M920x: rename function prefixes from m9206_foo to m920x_foo
    V4L/DVB (5611): M920x: replace deb_rc with deb
    V4L/DVB (5610): M920x: remove duplicated code
    V4L/DVB (5609): M920x: group like functions together
    V4L/DVB (5608): M920x: various whitespace cleanups
    V4L/DVB (5607): M920x: Initial support for devices likely manufactured by Dposh
    V4L/DVB (5606): M920x: add "c-basic-offset: 8" to help emacs to enforce tabbing
    V4L/DVB (5605): M920x: Add support for LifeView TV Walker Twin
    V4L/DVB (5603): V4L: Prevent queueing queued buffers.
    V4L/DVB (5602): Enable DiSEqC in Starbox II (vp7021a)
    ...

    Linus Torvalds
     

10 May, 2007

1 commit


09 May, 2007

12 commits