1. 09 7月, 2016 2 次提交
  2. 24 6月, 2016 7 次提交
  3. 11 3月, 2016 2 次提交
  4. 01 3月, 2016 2 次提交
  5. 18 11月, 2015 1 次提交
    • A
      [media] gspca: ov534/topro: prevent a division by 0 · dcc7fdbe
      Antonio Ospite 提交于
      v4l2-compliance sends a zeroed struct v4l2_streamparm in
      v4l2-test-formats.cpp::testParmType(), and this results in a division by
      0 in some gspca subdrivers:
      
        divide error: 0000 [#1] SMP
        Modules linked in: gspca_ov534 gspca_main ...
        CPU: 0 PID: 17201 Comm: v4l2-compliance Not tainted 4.3.0-rc2-ao2 #1
        Hardware name: System manufacturer System Product Name/M2N-E SLI, BIOS
          ASUS M2N-E SLI ACPI BIOS Revision 1301 09/16/2010
        task: ffff8800818306c0 ti: ffff880095c4c000 task.ti: ffff880095c4c000
        RIP: 0010:[<ffffffffa079bd62>]  [<ffffffffa079bd62>] sd_set_streamparm+0x12/0x60 [gspca_ov534]
        RSP: 0018:ffff880095c4fce8  EFLAGS: 00010296
        RAX: 0000000000000000 RBX: ffff8800c9522000 RCX: ffffffffa077a140
        RDX: 0000000000000000 RSI: ffff880095e0c100 RDI: ffff8800c9522000
        RBP: ffff880095e0c100 R08: ffffffffa077a100 R09: 00000000000000cc
        R10: ffff880067ec7740 R11: 0000000000000016 R12: ffffffffa07bb400
        R13: 0000000000000000 R14: ffff880081b6a800 R15: 0000000000000000
        FS:  00007fda0de78740(0000) GS:ffff88012fc00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 00000000014630f8 CR3: 00000000cf349000 CR4: 00000000000006f0
        Stack:
         ffffffffa07a6431 ffff8800c9522000 ffffffffa077656e 00000000c0cc5616
         ffff8800c9522000 ffffffffa07a5e20 ffff880095e0c100 0000000000000000
         ffff880067ec7740 ffffffffa077a140 ffff880067ec7740 0000000000000016
        Call Trace:
         [<ffffffffa07a6431>] ? v4l_s_parm+0x21/0x50 [videodev]
         [<ffffffffa077656e>] ? vidioc_s_parm+0x4e/0x60 [gspca_main]
         [<ffffffffa07a5e20>] ? __video_do_ioctl+0x280/0x2f0 [videodev]
         [<ffffffffa07a5ba0>] ? video_ioctl2+0x20/0x20 [videodev]
         [<ffffffffa07a59b9>] ? video_usercopy+0x319/0x4e0 [videodev]
         [<ffffffff81182dc1>] ? page_add_new_anon_rmap+0x71/0xa0
         [<ffffffff811afb92>] ? mem_cgroup_commit_charge+0x52/0x90
         [<ffffffff81179b18>] ? handle_mm_fault+0xc18/0x1680
         [<ffffffffa07a15cc>] ? v4l2_ioctl+0xac/0xd0 [videodev]
         [<ffffffff811c846f>] ? do_vfs_ioctl+0x28f/0x480
         [<ffffffff811c86d4>] ? SyS_ioctl+0x74/0x80
         [<ffffffff8154a8b6>] ? entry_SYSCALL_64_fastpath+0x16/0x75
        Code: c7 93 d9 79 a0 5b 5d e9 f1 f3 9a e0 0f 1f 00 66 2e 0f 1f 84 00
          00 00 00 00 66 66 66 66 90 53 31 d2 48 89 fb 48 83 ec 08 8b 46 10 <f7>
          76 0c 80 bf ac 0c 00 00 00 88 87 4e 0e 00 00 74 09 80 bf 4f
        RIP  [<ffffffffa079bd62>] sd_set_streamparm+0x12/0x60 [gspca_ov534]
         RSP <ffff880095c4fce8>
        ---[ end trace 279710c2c6c72080 ]---
      
      Following what the doc says about a zeroed timeperframe (see
      http://www.linuxtv.org/downloads/v4l-dvb-apis/vidioc-g-parm.html):
      
        ...
        To reset manually applications can just set this field to zero.
      
      fix the issue by resetting the frame rate to a default value in case of
      an unusable timeperframe.
      
      The fix is done in the subdrivers instead of gspca.c because only the
      subdrivers have notion of a default frame rate to reset the camera to.
      Signed-off-by: NAntonio Ospite <ao2@ao2.it>
      Cc: stable@vger.kernel.org
      Reviewed-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dcc7fdbe
  6. 01 10月, 2015 1 次提交
  7. 06 7月, 2015 2 次提交
  8. 30 5月, 2015 2 次提交
  9. 01 5月, 2015 6 次提交
  10. 03 3月, 2015 2 次提交
    • R
      [media] media: fix gspca drivers build dependencies · d5c00762
      Randy Dunlap 提交于
      Several (15) drivers in media/usb/gspca use IF_ENABLED(CONFIG_INPUT)
      to decide if they should call input* interfaces, but those drivers
      do not build successfully when CONFIG_INPUT=m and the gspca drivers
      are builtin (=y).  Making USB_GSPCA depend on INPUT || INPUT=n
      fixes the build dependencies and allows all of them to build
      cleanly.
      
      Fixes these build errors (selections, not all are listed):
      
      drivers/built-in.o: In function `gspca_disconnect':
      (.text+0x32ed0f): undefined reference to `input_unregister_device'
      drivers/built-in.o: In function `sd_isoc_irq':
      konica.c:(.text+0x333098): undefined reference to `input_event'
      konica.c:(.text+0x3330ab): undefined reference to `input_event'
      drivers/built-in.o: In function `sd_stopN':
      konica.c:(.text+0x3338d3): undefined reference to `input_event'
      konica.c:(.text+0x3338e5): undefined reference to `input_event'
      drivers/built-in.o: In function `ov51x_handle_button':
      ov519.c:(.text+0x335ddb): undefined reference to `input_event'
      drivers/built-in.o:ov519.c:(.text+0x335ded): more undefined references to `input_event' follow
      pac7302.c:(.text+0x336ea1): undefined reference to `input_event'
      pac7302.c:(.text+0x336eb3): undefined reference to `input_event'
      drivers/built-in.o: In function `sd_pkt_scan':
      spca561.c:(.text+0x338fd8): undefined reference to `input_event'
      drivers/built-in.o:spca561.c:(.text+0x338feb): more undefined references to `input_event' follow
      t613.c:(.text+0x33a6fd): undefined reference to `input_event'
      drivers/built-in.o:t613.c:(.text+0x33a70f): more undefined references to `input_event' follow
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc:	Hans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      d5c00762
    • M
      [media] fixp-arith: replace sin/cos table by a better precision one · 559addc2
      Mauro Carvalho Chehab 提交于
      The cos table used at fixp-arith.h has only 8 bits of precision.
      That causes problems if it is reused on other drivers.
      
      As some media drivers require a higher precision sin/cos
      implementation, replace the current implementation by one that
      will provide 32 bits precision.
      
      The values generated by the new implementation matches the
      32 bit precision of glibc's sin for an angle measured in
      integer degrees.
      
      It also provides support for fractional angles via linear
      interpolation. On experimental calculus, when used a table
      with a 0.001 degree angle, the maximum error for sin is
      0.000038, which is likely good enough for practical purposes.
      
      There are some logic there that seems to be specific to the
      usage inside ff-memless.c. Move those logic to there, as they're
      not needed elsewhere.
      
      Cc: Hans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      Signed-off-by: NPrashant Laddha <prladdha@cisco.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      559addc2
  11. 11 2月, 2015 1 次提交
  12. 30 1月, 2015 6 次提交
  13. 22 9月, 2014 2 次提交
  14. 08 9月, 2014 2 次提交
  15. 03 9月, 2014 1 次提交
    • H
      [media] kinect: fix sparse warnings · 6cde2904
      Hans Verkuil 提交于
      drivers/media/usb/gspca/kinect.c:151:19: warning: incorrect type in assignment (different base types)
      drivers/media/usb/gspca/kinect.c:152:19: warning: incorrect type in assignment (different base types)
      drivers/media/usb/gspca/kinect.c:153:19: warning: incorrect type in assignment (different base types)
      drivers/media/usb/gspca/kinect.c:191:13: warning: restricted __le16 degrades to integer
      drivers/media/usb/gspca/kinect.c:217:16: warning: incorrect type in assignment (different base types)
      drivers/media/usb/gspca/kinect.c:218:16: warning: incorrect type in assignment (different base types)
      
      Note that this fixes a real bug where cpu_to_le16 was used instead of the correct
      le16_to_cpu.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NAntonio Ospite <ao2@ao2.it>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      6cde2904
  16. 26 8月, 2014 1 次提交