1. 11 11月, 2008 1 次提交
    • M
      V4L/DVB (9357): cx88-dvb: Fix Oops in case i2c bus failed to register · 0e8bac97
      Matthias Schwarzott 提交于
      There already is an report at kernel bugzilla about this issue:
      http://bugzilla.kernel.org/show_bug.cgi?id=9455
      
      When enabling extra checks for the i2c-bus of cx88 based cards by
      loading i2c_algo_bit with bit_test=1 this may trigger an oops
      when loading cx88_dvb.
      
      This is caused by the extra check code that detects that the
      sda-line is stuck high and thus does not register the i2c-bus.
      
      cx88-dvb however does not check if the i2c-bus is valid and just
      uses core->i2c_adap to attach dvb frontend modules.
      This leads to an oops at the first call to i2c_transfer:
      
      $ modprobe i2c_algo_bit bit_test=1
      $ modprobe cx8802
      
      cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded
      cx88[0]: quirk: PCIPCI_NATOMA -- set TBFX
      cx88[0]: subsystem: 0070:9202, board: Hauppauge Nova-S-Plus DVB-S [card=37,autodetected], frontend(s): 1
      cx88[0]: TV tuner type 4, Radio tuner type -1
      cx88[0]: SDA stuck high!
      cx88[0]: i2c register FAILED
      input: cx88 IR (Hauppauge Nova-S-Plus  as /class/input/input5
      cx88[0]/2: cx2388x 8802 Driver Manager
      cx88-mpeg driver manager 0000:00:10.2: enabling device (0154 -> 0156)
      cx88-mpeg driver manager 0000:00:10.2: PCI INT A -> Link[LNKD] -> GSI 9 (level, low) -> IRQ 9
      cx88[0]/2: found at 0000:00:10.2, rev: 5, irq: 9, latency: 64, mmio: 0xfb000000
      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: 0070:9202, board: Hauppauge Nova-S-Plus DVB-S [card=37]
      cx88[0]/2: cx2388x based DVB/ATSC card
      BUG: unable to handle kernel NULL pointer dereference at 00000000
      IP: [<e084d4ef>] :i2c_core:i2c_transfer+0x1f/0x80
      *pde = 00000000
      Modules linked in: cx88_dvb(+) cx8802 cx88xx ir_common i2c_algo_bit tveeprom videobuf_dvb btcx_risc
      mga drm ipv6 fscpos eeprom nfsd exportfs stv0299 b2c2_flexcop_pci b2c2_flexcop cx24123 s5h1420 ves1x93
      dvb_ttpci dvb_core saa7146_vv saa7146 videobuf_dma_sg videobuf_core videodev v4l1_compat ttpci_eeprom
      lirc_serial lirc_dev usbhid rtc uhci_hcd 8139too i2c_piix4 i2c_core usbcore evdev
      Pid: 4249, comm: modprobe Not tainted (2.6.27-gentoo #3)
      EIP: 0060:[<e084d4ef>] EFLAGS: 00010296 CPU: 0
      EIP is at i2c_transfer+0x1f/0x80 [i2c_core]
      EAX: 00000000 EBX: ffffffa1 ECX: 00000002 EDX: d6c71e3c
      ESI: d80cd050 EDI: d8093c00 EBP: d6c71e20 ESP: d6c71e0c
      DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      0e8bac97
  2. 22 10月, 2008 2 次提交
  3. 18 10月, 2008 6 次提交
    • I
      V4L/DVB (9296): Patch to remove warning message during cx88-dvb compilation · d4305c68
      Igor M. Liplianin 提交于
      Remove warning message during cx88-dvb compilation.
      Also fixes double underline in function and struct names.
      Signed-off-by: NIgor M. Liplianin <liplianin@me.by>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      d4305c68
    • S
      V4L/DVB (9250): cx88: Convert __FUNCTION__ to __func__ · 2af03eea
      Steven Toth 提交于
      cx88: Convert __FUNCTION__ to __func__
      Signed-off-by: NSteven Toth <stoth@linuxtv.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      2af03eea
    • D
      V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion · 59b1842d
      Darron Broad 提交于
      This add frontend R/W mutual exclusion.
      Prior to this point in time it was possible to open both
      frontends simultaneously which an MFE card cannot support.
      
      In order to stop this, a delayed open is performed which
      has the following function:
      
      -  Return EBUSY after a configurable amount of time
         if a frontend is unavailable due to the other being
         in use.
      
      -  Only allow opening of a frontend if the kernel thread
         of the other has stopped.
      
      This solution was chosen to allow switching between
      frontends to work as seamlessly as possible. When both
      frontends are actually opened simultaneously then one
      will only open, but if quick switching is performed
      between one of many then the new open will succeed in
      a clean fashion rather than interrupting a kernel
      thread.
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      59b1842d
    • D
      V4L/DVB (9225): MFE: Add configurable gate control · 8e739090
      Darron Broad 提交于
      This adds a configurable (one per card) gate control option
      for multi-frontend. Prior to this point gate control was
      assumed to be on the primary frontend, this is a fault
      when the gate to the analogue section is on the secondary
      which is the default for both the HVR-3000 and HVR-4000
      in MFE.
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      8e739090
    • D
      V4L/DVB (9223): MFE: Fix a number of bugs and some tidying up · 92abe9ee
      Darron Broad 提交于
      A number of reference to videobuf_dvb_get_frontend used an invalid
      index. This has been fixed.
      
      The section for the HVR3000 in advise_acquire was redundant as
      the same logic is used on the HVR4000. This has been removed
      and both cards now use the same function.
      
      A number of small errors and whitespace errors are also fixed.
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      92abe9ee
    • S
      V4L/DVB (9222): S2API: Add Multiple-frontend on a single adapter support. · 363c35fc
      Steven Toth 提交于
      A detailed description from the original patches 2 years ago:
      
      "The WinTV-HVR3000 has a single transport bus which is shared between
      a DVB-T and DVB-S modulator. These patches build on the bus acquisition
      cx88 work from a few weeks ago to add support for this.
      
      So to applications the HVR3000 looks like this:
      /dev/dvb/adapter0/fe0 (cx24123 DVB-S demod)
      /dev/dvb/adapter0/fe1 (cx22702 DVB-T demod)
      
      Additional boards continue as before, eg:
      /dev/dvb/adapter1/fe0 (lgdt3302 ATSC demod)
      
      The basic change is removing the single instance of the videobuf_dvb in
      cx8802_dev and saa7134_dev(?) and replacing it with a list and some
      supporting functions.
      
      *NOTE* This branch was taken before v4l-dvb was closed for 2.6.19 so
      two or three current cx88 patches appear to be reversed by this tree,
      this will be cleaned up in the near future. The patches missing change
      the mutex handing to core->lock, fix an enumeration problem."
      
      It should be recognised that a number of people have been maintaining
      this patchset. Significant levels of Kudos to everyone one involved,
      including but not limited to:
      
      Darron Broad
      Fabio M. Di Nitto
      Carlo Scarfoglio
      Hans Werner
      
      Without the work of these people, and countless others, my two year old
      patches would of died on the Mercurial linuxtv.org vine a long time
      ago.
      
      TODO: Revise these patches a little further so that the need for
      demux1 and dvr0 is optional, not mandatory on the HVR3000.
      
      HISTORY (darron):
      This is the last update to MFE prepared by Hans which is based
      upon the `scratchpad' diff created by Carlo.
      All MFE work prior to that point must be attributed to Fabio
      who ported and maintained Steve's original patch up to that
      time.
      Signed-off-by: NSteven Toth <stoth@linuxtv.org>
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      363c35fc
  4. 13 10月, 2008 1 次提交
  5. 12 10月, 2008 11 次提交
  6. 14 5月, 2008 2 次提交
  7. 26 4月, 2008 1 次提交
  8. 25 4月, 2008 16 次提交