1. 26 9月, 2011 5 次提交
  2. 25 9月, 2011 1 次提交
  3. 24 9月, 2011 25 次提交
  4. 23 9月, 2011 1 次提交
  5. 22 9月, 2011 8 次提交
    • A
      [media] adp1653: set media entity type · 653822b9
      Andy Shevchenko 提交于
      The type of a media entity is default for this driver. This patch makes it
      explicitly defined as MEDIA_ENT_T_V4L2_SUBDEV_FLASH.
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      653822b9
    • M
      [media] TVP7002: Changed register values · 425b91c9
      Mats Randgaard 提交于
      Register values changed according to the data sheet and Texas Instruments DaVinci_PSP_03_02_00_37.
      	- TVP7002_RGB_COARSE_CLAMP_CTL changed to the default value in data sheet.
       	- TVP7002_HPLL_PHASE_SEL deleted because the registers write to reserved bits. The default value works fine.
      Signed-off-by: NMats Randgaard <mats.randgaard@tandberg.com>
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      425b91c9
    • M
    • Y
      [media] v4l2: uvcvideo use after free bug fix · 69803ecf
      Yang Ruirui 提交于
      Unplugging uvc video camera trigger following oops:
      
      eeepc kernel: [ 1393.500719] usb 3-2: USB disconnect, device number 4
      eeepc kernel: [ 1393.504351] uvcvideo: Failed to resubmit video URB (-19).
      eeepc kernel: [ 1495.428853] BUG: unable to handle kernel paging request at 6b6b6bcb
      eeepc kernel: [ 1495.429017] IP: [<b0358d37>] dev_get_drvdata+0x17/0x20
      eeepc kernel: [ 1495.429017] *pde = 00000000
      eeepc kernel: [ 1495.429017] Oops: 0000 [#1] DEBUG_PAGEALLOC
      eeepc kernel: [ 1495.429017]
      eeepc kernel: [ 1495.429017] Pid: 3476, comm: cheese Not tainted 3.1.0-rc3-00270-g7a54f5e1-dirty #485 ASUSTeK Computer INC. 900/900
      eeepc kernel: [ 1495.429017] EIP: 0060:[<b0358d37>] EFLAGS: 00010202 CPU: 0
      eeepc kernel: [ 1495.429017] EIP is at dev_get_drvdata+0x17/0x20
      eeepc kernel: [ 1495.429017] EAX: 6b6b6b6b EBX: eb08d870 ECX: 00000000 EDX: eb08d930
      eeepc kernel: [ 1495.429017] ESI: eb08d870 EDI: eb08d870 EBP: d3249cac ESP: d3249cac
      eeepc kernel: [ 1495.429017]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
      eeepc kernel: [ 1495.429017] Process cheese (pid: 3476, ti=d3248000 task=df46d870 task.ti=d3248000)
      eeepc kernel: [ 1495.429017] Stack:
      eeepc kernel: [ 1495.429017]  d3249cb8 b03e77a1 d307b840 d3249ccc b03e77d1 d307b840 eb08d870 eb08d830
      eeepc kernel: [ 1495.429017]  d3249ce4 b03ed3b7 00000246 d307b840 eb08d870 d3021b80 d3249cec b03ed565
      eeepc kernel: [ 1495.429017]  d3249cfc b03e044d e8323d10 b06e013c d3249d18 b0355fb9 fffffffe d3249d1c
      eeepc kernel: [ 1495.429017] Call Trace:
      eeepc kernel: [ 1495.429017]  [<b03e77a1>] v4l2_device_disconnect+0x11/0x30
      eeepc kernel: [ 1495.429017]  [<b03e77d1>] v4l2_device_unregister+0x11/0x50
      eeepc kernel: [ 1495.429017]  [<b03ed3b7>] uvc_delete+0x37/0x110
      eeepc kernel: [ 1495.429017]  [<b03ed565>] uvc_release+0x25/0x30
      eeepc kernel: [ 1495.429017]  [<b03e044d>] v4l2_device_release+0x9d/0xc0
      eeepc kernel: [ 1495.429017]  [<b0355fb9>] device_release+0x19/0x90
      eeepc kernel: [ 1495.429017]  [<b03adfdc>] ? usb_hcd_unlink_urb+0x7c/0x90
      eeepc kernel: [ 1495.429017]  [<b026b99c>] kobject_release+0x3c/0x90
      eeepc kernel: [ 1495.429017]  [<b026b960>] ? kobject_del+0x30/0x30
      eeepc kernel: [ 1495.429017]  [<b026ca4c>] kref_put+0x2c/0x60
      eeepc kernel: [ 1495.429017]  [<b026b88d>] kobject_put+0x1d/0x50
      eeepc kernel: [ 1495.429017]  [<b03b2385>] ? usb_autopm_put_interface+0x25/0x30
      eeepc kernel: [ 1495.429017]  [<b03f0e5d>] ? uvc_v4l2_release+0x5d/0xd0
      eeepc kernel: [ 1495.429017]  [<b0355d2f>] put_device+0xf/0x20
      eeepc kernel: [ 1495.429017]  [<b03dfa96>] v4l2_release+0x56/0x60
      eeepc kernel: [ 1495.429017]  [<b019c8dc>] fput+0xcc/0x220
      eeepc kernel: [ 1495.429017]  [<b01990f4>] filp_close+0x44/0x70
      eeepc kernel: [ 1495.429017]  [<b012b238>] put_files_struct+0x158/0x180
      eeepc kernel: [ 1495.429017]  [<b012b100>] ? put_files_struct+0x20/0x180
      eeepc kernel: [ 1495.429017]  [<b012b2a0>] exit_files+0x40/0x50
      eeepc kernel: [ 1495.429017]  [<b012b9e7>] do_exit+0x5a7/0x660
      eeepc kernel: [ 1495.429017]  [<b0135f72>] ? __dequeue_signal+0x12/0x120
      eeepc kernel: [ 1495.429017]  [<b055edf2>] ? _raw_spin_unlock_irq+0x22/0x30
      eeepc kernel: [ 1495.429017]  [<b012badc>] do_group_exit+0x3c/0xb0
      eeepc kernel: [ 1495.429017]  [<b015792b>] ? trace_hardirqs_on+0xb/0x10
      eeepc kernel: [ 1495.429017]  [<b013755f>] get_signal_to_deliver+0x18f/0x570
      eeepc kernel: [ 1495.429017]  [<b01020f7>] do_signal+0x47/0x9e0
      eeepc kernel: [ 1495.429017]  [<b055edf2>] ? _raw_spin_unlock_irq+0x22/0x30
      eeepc kernel: [ 1495.429017]  [<b015792b>] ? trace_hardirqs_on+0xb/0x10
      eeepc kernel: [ 1495.429017]  [<b0123300>] ? T.1034+0x30/0xc0
      eeepc kernel: [ 1495.429017]  [<b055c45f>] ? schedule+0x29f/0x640
      eeepc kernel: [ 1495.429017]  [<b0102ac8>] do_notify_resume+0x38/0x40
      eeepc kernel: [ 1495.429017]  [<b055f154>] work_notifysig+0x9/0x11
      eeepc kernel: [ 1495.429017] Code: e5 5d 83 f8 01 19 c0 f7 d0 83 e0 f0 c3 8d b4 26 00 00 00 00 55 85 c0 89 e5 75 09 31 c0 5d c3 90 8d 74 26 00 8b 40 04 85 c0 74 f0 <8b> 40 60 5d c3 8d 74 26 00 55 89 e5 53 89 c3 83 ec 04 8b 40 04
      eeepc kernel: [ 1495.429017] EIP: [<b0358d37>] dev_get_drvdata+0x17/0x20 SS:ESP 0068:d3249cac
      eeepc kernel: [ 1495.429017] CR2: 000000006b6b6bcb
      eeepc kernel: [ 1495.466975] uvcvideo: Failed to resubmit video URB (-27).
      eeepc kernel: [ 1495.467860] uvcvideo: Failed to resubmit video URB (-27).
      eeepc kernel: last message repeated 3 times
      eeepc kernel: [ 1495.512610] ---[ end trace 73ec16848794e5a5 ]---
      
      For uvc device, dev->vdev.dev is the &intf->dev,
      uvc_delete code is as below:
      	usb_put_intf(dev->intf);
      	usb_put_dev(dev->udev);
      
      	uvc_status_cleanup(dev);
      	uvc_ctrl_cleanup_device(dev);
      
      	if (dev->vdev.dev)
      		v4l2_device_unregister(&dev->vdev);
      
      Fix it by get_device in v4l2_device_register and put_device in v4l2_device_disconnect
      Reported-by: NSitsofe Wheeler <sitsofe@yahoo.com>
      Signed-off-by: NDave Young <hidave.darkstar@gmail.com>
      Tested-by: NSitsofe Wheeler <sitsofe@yahoo.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      69803ecf
    • C
      [media] em28xx: Fix em28xx_devused cleanup logic on error · 9da9f356
      Chris Rankin 提交于
      On 04/09/11 00:49, Mauro Carvalho Chehab wrote:
      > This is an automatic generated email to let you know that the following patch were queued at the
      > http://git.linuxtv.org/media_tree.git tree:
      >
      > Subject: [media] em28xx: use atomic bit operations for devices-in-use mask
      > Author:  Chris Rankin<rankincj@yahoo.com>
      > Date:    Sat Aug 20 08:21:03 2011 -0300
      >
      > Use atomic bit operations for the em28xx_devused mask, to prevent an
      > unlikely race condition should two adapters be plugged in
      > simultaneously. The operations also clearer than explicit bit
      > manipulation anyway.
      >
      > Signed-off-by: Chris Rankin<rankincj@yahoo.com>
      > Signed-off-by: Mauro Carvalho Chehab<mchehab@redhat.com>
      >
      >   drivers/media/video/em28xx/em28xx-cards.c |   33 ++++++++++++++---------------
      
      I think you missed this line in the merge.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      9da9f356
    • L
      [media] mt9t001: Aptina (Micron) MT9T001 3MP sensor driver · 0a54b86a
      Laurent Pinchart 提交于
      The MT9T001 is a parallel 3MP sensor from Aptina (formerly Micron)
      controlled through I2C.
      
      The driver creates a V4L2 subdevice. It currently supports binning and
      cropping, and the gain, exposure, test pattern and black level controls.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      0a54b86a
    • L
      [media] omap3isp: video: Avoid crashes when pipeline set stream operation fails · 5b6c3ef0
      Laurent Pinchart 提交于
      If streaming can't be enabled on the pipeline, the DMA buffers queue is
      not emptied. If the buffers then get freed the queue will end up
      referencing free memory. This is usually not an issue, as the DMA queue
      will be reinitialized the next time streaming is enabled, before
      enabling the hardware.
      
      However, if the sensor connected at the pipeline input is free-running,
      the CCDC will start generating interrupts as soon as it gets powered up,
      before the streaming gets enabled on the hardware. This will make the
      CCDC interrupt handler access freed memory, causing a crash.
      
      Reinitialize the DMA buffers queue in isp_video_streamon() if the error
      path to make sure this situation won't happen.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      5b6c3ef0
    • L
      [media] omap3isp: Don't fail streamon when the sensor doesn't implement s_stream · c62e2a19
      Laurent Pinchart 提交于
      The code handles subdevs with no s_stream operation correctly, but
      returns -ENOIOCTLCMD by mistake if the first subdev in the chain has no
      s_stream operation. Return 0 in that case.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      c62e2a19