Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Oct 2008 21:03:59 +0000 (14:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Oct 2008 21:03:59 +0000 (14:03 -0700)
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (313 commits)
  V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards
  V4L/DVB (9185): S2API: Ensure we have a reasonable ROLLOFF default
  V4L/DVB (9184): cx24116: Change the default SNR units back to percentage by default.
  V4L/DVB (9183): S2API: Return error of the caller provides 0 commands.
  V4L/DVB (9182): S2API: Added support for DTV_HIERARCHY
  V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE
  V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP
  V4L/DVB (9179): S2API: frontend.h cleanup
  V4L/DVB (9178): cx24116: Add module parameter to return SNR as ESNO.
  V4L/DVB (9177): S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16
  V4L/DVB (9176): Add support for DvbWorld USB cards with STV0288 demodulator.
  V4L/DVB (9175): Remove NULL pointer in stb6000 driver.
  V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator.
  V4L/DVB (9173): S2API: Remove the hardcoded command limit during validation
  V4L/DVB (9172): S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API.
  V4L/DVB (9171): S2API: Stop an OOPS if illegal commands are dumped in S2API.
  V4L/DVB (9170): cx24116: Sanity checking to data input via S2API to the cx24116 demod.
  V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams.
  V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote
  V4L/DVB: v4l2-dev: remove duplicated #include
  ...

1  2 
drivers/media/video/cafe_ccic.c

index 08efbe7254ff428d51e5bb734715754f1acdb2f6,e9994c81df660ebaec7d9b9d10a587d73dfa3910..fc9497bdd322f008c6673ada3c7468be051c3706
@@@ -1476,9 -1476,12 +1476,12 @@@ static int cafe_v4l_open(struct inode *
  {
        struct cafe_camera *cam;
  
+       lock_kernel();
        cam = cafe_find_dev(iminor(inode));
-       if (cam == NULL)
+       if (cam == NULL) {
+               unlock_kernel();
                return -ENODEV;
+       }
        filp->private_data = cam;
  
        mutex_lock(&cam->s_mutex);
        }
        (cam->users)++;
        mutex_unlock(&cam->s_mutex);
+       unlock_kernel();
        return 0;
  }
  
@@@ -2092,8 -2096,15 +2096,8 @@@ static int cafe_pci_probe(struct pci_de
                const struct pci_device_id *id)
  {
        int ret;
 -      u16 classword;
        struct cafe_camera *cam;
 -      /*
 -       * Make sure we have a camera here - we'll get calls for
 -       * the other cafe devices as well.
 -       */
 -      pci_read_config_word(pdev, PCI_CLASS_DEVICE, &classword);
 -      if (classword != PCI_CLASS_MULTIMEDIA_VIDEO)
 -              return -ENODEV;
 +
        /*
         * Start putting together one of our big camera structures.
         */
@@@ -2281,8 -2292,8 +2285,8 @@@ static int cafe_pci_resume(struct pci_d
  
  
  static struct pci_device_id cafe_ids[] = {
 -      { PCI_DEVICE(0x11ab, 0x4100) }, /* Eventual real ID */
 -      { PCI_DEVICE(0x11ab, 0x4102) }, /* Really eventual real ID */
 +      { PCI_DEVICE(PCI_VENDOR_ID_MARVELL,
 +                   PCI_DEVICE_ID_MARVELL_88ALP01_CCIC) },
        { 0, }
  };