1. 29 1月, 2009 19 次提交
  2. 08 1月, 2009 14 次提交
    • S
      dvb: update network device to current API · fb875333
      Stephen Hemminger 提交于
      Use internal network_device_stats that exist in network device and
      net_device_ops. Compile tested only.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb875333
    • M
      V4L/DVB (10190): cx88: Fix some Kbuild troubles · e32fadc4
      Mauro Carvalho Chehab 提交于
      As Randy Dunlap <randy.dunlap@oracle.com> reported, cx88 has some compilation issues:
      
      drivers/built-in.o: In function `cx88_call_i2c_clients':
      (.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend'
      drivers/built-in.o: In function `cx8802_probe':
      cx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend'
      cx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends'
      
      With those configs:
      
      CONFIG_VIDEO_CX88=y
      CONFIG_VIDEO_CX88_BLACKBIRD=y
      CONFIG_VIDEO_CX88_DVB=m
      CONFIG_DVB_CORE=m
      
      After carefully examining the code, with the current code, several cx88 drivers
      (cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module,
      if one of them is marked as such. Just fixing Kconfig could create a very complex
      set of rules. Also, this hides a problem with the current approach where the dvb
      functionality weren't confined inside dvb module.
      
      What happens is that:
      	- cx88-i2c (part of cx8800) has some special rules if DVB;
      	- cx88-mpeg (cx8802 module) has also part of DVB init code;
      	- cx88-dvb has the rest of the dvb code;
      	- cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not.
      
      So, instead of doing some tricks at Kconfig and wait for a next breakage,
      this patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb.
      
      Another problem is that cx8802 were being compiled, even without cx88-dvb
      and cx88-blackbird modules.
      
      While on this code, let's fix also a reported problem:
      http://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html
      
      A solution for the issue were proposed here:
      http://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html
      
      Thanks to Randy, Andy, Gregoire and Thomas for helping us to detect
      and solve the issues.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      e32fadc4
    • M
      V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y · 571d864c
      Mauro Carvalho Chehab 提交于
      As reported by Randy Dunlap <randy.dunlap@oracle.com>:
      
      With CONFIG_INPUT=m and CONFIG_DVB_DM1105=y:
      
      drivers/built-in.o: In function `input_sync':
      dm1105.c:(.text+0x120c33): undefined reference to `input_event'
      drivers/built-in.o: In function `dm1105_emit_key':
      dm1105.c:(.text+0x120c6c): undefined reference to `input_event'
      dm1105.c:(.text+0x120c82): undefined reference to `input_event'
      dm1105.c:(.text+0x120cb2): undefined reference to `input_event'
      dm1105.c:(.text+0x120cd1): undefined reference to `input_event'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xd8ae): undefined reference to `input_allocate_device'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xd9f6): undefined reference to `input_register_device'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xda09): undefined reference to `input_free_device'
      drivers/built-in.o: In function `dm1105_ir_exit':
      (.devexit.text+0xcde): undefined reference to `input_unregister_device'
      
      This is due to the lack of a dependency between dm1105 and CONFIG_INPUT
      
      Cc: Igor M. Liplianin <liplianin@me.by>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      571d864c
    • J
      V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc · 2230c3c8
      Julia Lawall 提交于
      This patch extends 13417982 by using
      usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
      and usb_endpoint_xfer_int in the negated case as well.
      
      The semantic patch that makes this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
      + !usb_endpoint_xfer_control(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
      + !usb_endpoint_xfer_isoc(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
      + !usb_endpoint_xfer_bulk(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
      + !usb_endpoint_xfer_int(epd)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      2230c3c8
    • M
      V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization · 439b72b6
      Michael Krufky 提交于
      Don't call tda8290_init_tuner unless we have either a TDA8275 or TDA8275A
      present. Calling this function will cause a TDA18271 to get sick, so we
      should only call it when needed.
      Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      439b72b6
    • M
      V4L/DVB (10181): v4l2-device: Fix some sparse warnings · 43266337
      Mauro Carvalho Chehab 提交于
      /home/v4l/master/v4l/v4l2-device.c:32:2: warning: Using plain integer as NULL pointer
      /home/v4l/master/v4l/v4l2-device.c:64:2: warning: Using plain integer as NULL pointer
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      43266337
    • M
      V4L/DVB (10180): drivers/media: Fix a number of sparse warnings · ffbc5f88
      Mauro Carvalho Chehab 提交于
      anysee.c:44:5: warning: symbol 'dvb_usb_anysee_delsys' was not declared. Should it be static?
      cx24116.c:378:3: warning: symbol 'CX24116_MODFEC_MODES' was not declared. Should it be static?
      stb0899_algo.c:57:5: warning: symbol 'stb0899_get_srate' was not declared. Should it be static?
      stb0899_algo.c:766:6: warning: symbol 'Log2Int' was not declared. Should it be static?
      stb0899_drv.c:137:20: warning: symbol 'stb0899_quant_tab' was not declared. Should it be static?
      stb0899_drv.c:180:20: warning: symbol 'stb0899_est_tab' was not declared. Should it be static?
      stb0899_drv.c:220:5: warning: symbol '_stb0899_read_reg' was not declared. Should it be static?
      budget-ci.c:1348:23: warning: symbol 'tt3200_stb6100_config' was not declared. Should it be static?
      /home/v4l/master/v4l/cx25840-core.c:190:6: warning: symbol 'cx25840_work_handler' was not declared. Should it be static?
      /home/v4l/master/v4l/m5602_s5k83a.c:116:6: warning: symbol 's5k83a_dump_registers' was not declared. Should it be static?
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      ffbc5f88
    • M
      V4L/DVB (10179): tda8290: Fix two sparse warnings · 4c27f1a4
      Mauro Carvalho Chehab 提交于
      /home/v4l/master/v4l/tda8290.c:233:7: warning: symbol 'i' shadows an earlier one
      /home/v4l/master/v4l/tda8290.c:178:3: warning: symbol 'fm_mode' was not declared. Should it be static?
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      4c27f1a4
    • M
      V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols · 072ce0c5
      Mauro Carvalho Chehab 提交于
      /home/v4l/master/v4l/dvb_frontend.c:838:19: warning: symbol 'dtv_cmds' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1035:6: warning: symbol 'dtv_property_dump' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1066:5: warning: symbol 'is_legacy_delivery_system' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1080:6: warning: symbol 'dtv_property_cache_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1132:6: warning: symbol 'dtv_property_legacy_params_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1187:6: warning: symbol 'dtv_property_adv_params_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1222:6: warning: symbol 'dtv_property_cache_submit' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1253:5: warning: symbol 'dtv_property_process_get' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1362:5: warning: symbol 'dtv_property_process_set' was not declared. Should it be static?
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      072ce0c5
    • M
      V4L/DVB (10177): Fix sparse warnings on em28xx · 26cdc76b
      Mauro Carvalho Chehab 提交于
      /home/v4l/master/v4l/em28xx-core.c:396:25: warning: symbol 'outputs' was not declared. Should it be static?
      /home/v4l/master/v4l/em28xx-input.c:324:6: warning: symbol 'em28xx_ir_start' was not declared. Should it be static?
      /home/v4l/master/v4l/em28xx-cards.c:1925:5: warning: symbol 'em28xx_init_dev' was not declared. Should it be static?
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      26cdc76b
    • E
      V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions · cfbaf4df
      Eric Miao 提交于
      1. now pxa_camera.c uses ioremap() for register access, pxa_camera.h is
         totally useless. Remove it.
      
      2. <asm/dma.h> does no longer include <mach/dma.h>, include the latter
         file explicitly
      
       delete mode 100644 drivers/media/video/pxa_camera.h
      Signed-off-by: NEric Miao <eric.miao@marvell.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      cfbaf4df
    • G
      V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage · c0cd5010
      Guennadi Liakhovetski 提交于
      Not all architectures provide clear_user_page(), but clear_user_highpage()
      is available everywhere at least via the compatibility inline function.
      
      Is this the "trivial patch" that's required for these two drivers?
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      c0cd5010
    • H
      trivial: replace last usages of __FUNCTION__ in kernel · 9b4778f6
      Harvey Harrison 提交于
      __FUNCTION__ is gcc-specific, use __func__
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9b4778f6
    • A
      USB: change interface to usb_lock_device_for_reset() · 011b15df
      Alan Stern 提交于
      This patch (as1161) changes the interface to
      usb_lock_device_for_reset().  The existing interface is apparently not
      very clear, judging from the fact that several of its callers don't
      use it correctly.  The new interface always returns 0 for success and
      it always requires the caller to unlock the device afterward.
      
      The new routine will not return immediately if it is called while the
      driver's probe method is running.  Instead it will wait until the
      probe is over and the device has been unlocked.  This shouldn't cause
      any problems; I don't know of any cases where drivers call
      usb_lock_device_for_reset() during probe.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Pete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      011b15df
  3. 07 1月, 2009 3 次提交
    • J
      i2c: Drop I2C_CLASS_CAM_DIGITAL · b3052718
      Jean Delvare 提交于
      There are a number of drivers which set their i2c bus class to
      I2C_CLASS_CAM_DIGITAL, however no chip driver actually checks for this
      flag, so we might as well drop it now.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      b3052718
    • T
      poll: allow f_op->poll to sleep · 5f820f64
      Tejun Heo 提交于
      f_op->poll is the only vfs operation which is not allowed to sleep.  It's
      because poll and select implementation used task state to synchronize
      against wake ups, which doesn't have to be the case anymore as wait/wake
      interface can now use custom wake up functions.  The non-sleep restriction
      can be a bit tricky because ->poll is not called from an atomic context
      and the result of accidentally sleeping in ->poll only shows up as
      temporary busy looping when the timing is right or rather wrong.
      
      This patch converts poll/select to use custom wake up function and use
      separate triggered variable to synchronize against wake up events.  The
      only added overhead is an extra function call during wake up and
      negligible.
      
      This patch removes the one non-sleep exception from vfs locking rules and
      is beneficial to userland filesystem implementations like FUSE, 9p or
      peculiar fs like spufs as it's very difficult for those to implement
      non-sleeping poll method.
      
      While at it, make the following cosmetic changes to make poll.h and
      select.c checkpatch friendly.
      
      * s/type * symbol/type *symbol/		   : three places in poll.h
      * remove blank line before EXPORT_SYMBOL() : two places in select.c
      
      Oleg: spotted missing barrier in poll_schedule_timeout()
      Davide: spotted missing write barrier in pollwake()
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Eric Van Hensbergen <ericvh@gmail.com>
      Cc: Ron Minnich <rminnich@sandia.gov>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Cc: Brad Boyer <flar@allandria.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5f820f64
    • L
      Check fops_get() return value · f41ced8f
      Laurent Pinchart 提交于
      Several subsystem open handlers dereference the fops_get() return value
      without checking it for nullness.  This opens a race condition between the
      open handler and module unloading.
      
      A module can be marked as being unloaded (MODULE_STATE_GOING) before its
      exit function is called and gets the chance to unregister the driver.
      During that window open handlers can still be called, and fops_get() will
      fail in try_module_get() and return a NULL pointer.
      
      This change checks the fops_get() return value and returns -ENODEV if NULL.
      Reported-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@skynet.be>
      Acked-by: NTakashi Iwai <tiwai@suse.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Dave Airlie <airlied@linux.ie>
      Acked-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f41ced8f
  4. 03 1月, 2009 4 次提交
    • U
      V4L/DVB (10173): Missing v4l2_prio_close in radio_release · b15dd79e
      Udo Steinberg 提交于
      The radio_release function of the BTTV driver is missing a call to
      v4l2_prio_close. As a result, after the radio device has been opened at
      least once (e.g., by HAL during bootup), v4l2_priority will never drop below
      V4L2_PRIORITY_INTERACTIVE again. With the following patch against 2.6.28,
      applications that run with V4L2_PRIORITY_BACKGROUND are able to open devices
      again. Previous Linux versions are affected as well.
      Signed-off-by: NUdo Steinberg <udo@hypervisor.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      b15dd79e
    • K
      763d19bb
    • J
      V4L/DVB (10171): Use usb_set_intfdata · 03fb02c6
      Julia Lawall 提交于
      This code had calls to both usb_set_intfdata and dev_set_drvdata, doing the
      same thing.
      
      The semantic patch that lead to finding this problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @header@
      @@
      
      @same depends on header@
      position p;
      @@
      
      usb_set_intfdata@p(...) { ... }
      
      @depends on header@
      position _p!=same.p;
      identifier _f;
      struct usb_interface *intf;
      expression data;
      @@
      
      _f@_p(...) { <+...
      - dev_set_drvdata(&intf->dev, data);
      + usb_set_intfdata(intf, data);
      ...+> }
      
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      03fb02c6
    • M
      V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error · 6b55009e
      Michael Krufky 提交于
      A user reported the following OOPS with his pcHDTV HD5500 card, which
      uses a cx88 PCI bridge with a LG-TDVS-H06xF frontend module, made up
      of a TUA6034 tuner, TDA988x IF demod, and LG DT3303 ATSC/QAM demod.
      
      Somehow, tuner-core gets loaded before the digital driver configures
      the tuner, and tuner-core somehow incorrectly sets the tuner type to
      LG NTSC (TAPE series) instead of LG TDVS-H06xF.  This tuner type does
      not have the tuning stepsize defined, so an OOPS occurs during the
      digital tune function.
      
      We still dont know how the type gets set incorrectly in the first place.
      The user has a tainted kernel with a binary nividia module, which COULD
      have something to do with this, but it's hard to say for sure.
      
      Nevertheless, to avoid this division by zero, we should check that
      stepsize is defined.  If stepsize is not defined, print an error and
      bail out on the tune request.
      
      cx8800 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
      cx88[0]: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47,autodetected], frontend(s): 1
      cx88[0]: TV tuner type 47, Radio tuner type -1
      tuner' 2-0043: chip found @ 0x86 (cx88[0])
      tda9887 2-0043: creating new instance
      tda9887 2-0043: tda988[5/6/7] found
      tuner' 2-0061: chip found @ 0xc2 (cx88[0])
      tuner-simple 2-0061: creating new instance
      tuner-simple 2-0061: type set to 47 (LG NTSC (TAPE series))
      cx88[0]/0: found at 0000:05:01.0, rev: 5, irq: 19, latency: 32, mmio: 0xea000000
      cx88[0]/0: registered device video1 [v4l2]
      cx88[0]/0: registered device vbi1
      cx88_audio 0000:05:01.1: PCI INT A -> GSI 19 (level, low) -> IRQ 19
      cx88[0]/1: CX88x/0: ALSA support for cx2388x boards
      cx88[0]/2: cx2388x 8802 Driver Manager
      cx88-mpeg driver manager 0000:05:01.2: PCI INT A -> GSI 19 (level, low) -> IRQ 19
      cx88[0]/2: found at 0000:05:01.2, rev: 5, irq: 19, latency: 32, mmio: 0xec000000
      cx8802_probe() allocating 1 frontend(s)
      cx88/2: cx2388x dvb driver version 0.0.6 loaded
      cx88/2: registering cx8802 driver, type: dvb access: shared
      cx88[0]/2: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47]
      cx88[0]/2: cx2388x based DVB/ATSC card
      tuner-simple 2-0061: attaching existing instance
      tuner-simple 2-0061: type set to 64 (LG NTSC (TAPE series))
      tda9887 2-0043: attaching existing instance
      DVB: registering new adapter (cx88[0])
      DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)...
      [snip]
      stepsize=0
      divide error: 0000 [1] SMP
      CPU 1
      Modules linked in: nls_utf8 fuse sco bridge stp bnep l2cap bluetooth sunrpc nf_conntrack_netbios_ns nf_conntrack_ftp ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table xfs lgdt330x dm_multipath cx88_dvb cx88_vp3054_i2c uinput tda9887 tda8290 snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types tuner msp3400 cx8800 cx88_alsa cx8802 snd_emu10k1 cx88xx snd_rawmidi snd_ac97_codec ir_common ac97_bus saa7115 snd_seq_dummy snd_seq_oss snd_seq_midi_event videobuf_dvb snd_seq dvb_core snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_device videobuf_dma_sg ppdev parport_pc snd_timer videobuf_core snd_page_alloc btcx_risc emu10k1_gp ivtv i2c_algo_bit cx2341x snd_util_mem snd_hwdep nvidia(P) gameport v4l2_common i2c_i801 snd soundcore parport videodev v4l1_compat v4l2_compat_ioctl32 tveeprom i2c_core pcspkr iTCO_wdt iTCO_vendor_support sky2 joydev floppy shpchp ata_generic pata_acpi pata_jmicron [last unloaded: microcode]
      Pid: 3553, comm: kdvb-ad-0-fe-0 Tainted: P          2.6.27.9-159.fc10.x86_64 #1
      RIP: 0010:[<ffffffffa09bc37a>]  [<ffffffffa09bc37a>] simple_dvb_calc_regs+0xab/0x281 [tuner_simple]
      RSP: 0018:ffff8800605dfd30  EFLAGS: 00010246
      RAX: 000000000365c040 RBX: ffff8800605dfdb0 RCX: ffff88007acb8c10
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000246
      RBP: ffff8800605dfda0 R08: ffff8800605dfba0 R09: 0000000000000082
      R10: 00000010e73c9df1 R11: 0000000100000000 R12: ffff88007ac29c00
      R13: ffff88007ac29c00 R14: ffff88007acbb408 R15: ffffffffa09b6fb0
      FS:  0000000000000000(0000) GS:ffff88007f804880(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 00000000004e8f40 CR3: 000000007114e000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process kdvb-ad-0-fe-0 (pid: 3553, threadinfo ffff8800605de000, task ffff88006fca0000)
      Stack:  ffff8800605dfd40 00000000ffffffa1 ffff88007c055860 0000000000000001
       ffff8800605dfda0 ffff8800605dfda0 ffff88007acb8c10 ffffffffa004e48c
       8e01880000000390 ffff88007acb8c10 ffff88007ac29c00 0000000000000000
      Call Trace:
       [<ffffffffa004e48c>] ? i2c_transfer+0x80/0x8b [i2c_core]
       [<ffffffffa09bc768>] simple_dvb_set_params+0x3e/0x9b [tuner_simple]
       [<ffffffffa0a0335a>] lgdt330x_set_parameters+0x188/0x1b9 [lgdt330x]
       [<ffffffffa08c9116>] dvb_frontend_swzigzag_autotune+0x18e/0x1b5 [dvb_core]
       [<ffffffffa08c9f6a>] dvb_frontend_swzigzag+0x1bc/0x21e [dvb_core]
       [<ffffffffa08ca4f4>] dvb_frontend_thread+0x528/0x62b [dvb_core]
       [<ffffffff810551e1>] ? autoremove_wake_function+0x0/0x38
       [<ffffffffa08c9fcc>] ? dvb_frontend_thread+0x0/0x62b [dvb_core]
       [<ffffffff81054e9b>] kthread+0x49/0x76
       [<ffffffff810116e9>] child_rip+0xa/0x11
       [<ffffffff81010a07>] ? restore_args+0x0/0x30
       [<ffffffff81054e52>] ? kthread+0x0/0x76
       [<ffffffff810116df>] ? child_rip+0x0/0x11
      
      Code: 48 8b 05 2a 4e 00 00 41 8b 77 1c 31 d2 0f b7 40 0a 89 f1 03 45 d0 d1 e9 03 0d 23 4e 00 00 69 c0 24 f4 00 00 8d 04 01 48 8b 4d c0 <f7> f6 8a 55 d6 88 53 04 41 89 c4 c1 e8 08 88 43 01 8a 45 d7 44
      RIP  [<ffffffffa09bc37a>] simple_dvb_calc_regs+0xab/0x281 [tuner_simple]
       RSP <ffff8800605dfd30>
      Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      6b55009e