linux-stable/drivers/media/dvb/b2c2
Trent Piepho 6175e487e3 V4L/DVB (6042): b2c2-flexcop: fix Airstar HD5000 tuning regression
Git changeset 6bdcc6e6db dropped the
stand-alone lgh06xf module, whose functionality was absorbed into the
dvb-pll module. However, there was a minor difference between the code
in lgh06xf and dvb-pll, which caused a regression in b2c2-flexcop
devices using the LG-H06xF NIM.

dvb-pll will probe for the presence of an i2c pll chip by performing a
single byte read, the lgh06xf driver did not do this. Unfortunately, the
code in flexcop-i2c.c does not currently support 1 byte or 0 byte reads
as a probe.  Such probes with the current code will always fail.

In order to work around this problem, and restore proper functionality
of the Airstar HD5000 device, this hack was created to make the probe
appear to succeed.  The single byte read in dvb_pll_attach is the only
place where such a probe would ever occur, so this change is safe, and
will not affect any other devices.

Of course, if one knew how to actually perform the read operation, it
would be better to go that route.  In the meantime, however, we must
apply this workaround, in order to prevent the regression that causes
tuning to fail on the Airstar HD5000 ATSC device.

Thanks to Jarod Wilson, who had originally reported this regression, and
to Geoffrey Hausheer, whose original workaround patch led us to find the
actual cause of the problem.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Cc: Geoffrey Hausheer <inli3epy93n@phracturedblue.com>
Acked-by: Jarod Wilson <jwilson@redhat.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-23 13:17:32 -03:00
..
flexcop-common.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
flexcop-dma.c V4L/DVB (3428): drivers/media/dvb/ possible cleanups 2006-01-23 17:11:09 -02:00
flexcop-eeprom.c [PATCH] dvb: flexcop: fix MAC address reading 2005-05-17 07:59:25 -07:00
flexcop-fe-tuner.c V4L/DVB (5780): Dvb: Remove static dependencies on dvb-pll 2007-07-18 14:24:16 -03:00
flexcop-hw-filter.c [PATCH] DVB: Small cleanups and CodeStyle fixes 2005-12-01 15:48:59 -08:00
flexcop-i2c.c V4L/DVB (6042): b2c2-flexcop: fix Airstar HD5000 tuning regression 2007-08-23 13:17:32 -03:00
flexcop-misc.c V4L/DVB (3428): drivers/media/dvb/ possible cleanups 2006-01-23 17:11:09 -02:00
flexcop-pci.c V4L/DVB (5505): Fix Kernel Bugzilla #8301: spinlock fix for flexcop-pci 2007-04-27 15:45:29 -03:00
flexcop-reg.h V4L/DVB (3428): drivers/media/dvb/ possible cleanups 2006-01-23 17:11:09 -02:00
flexcop-sram.c [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver 2005-05-17 07:59:24 -07:00
flexcop-usb.c V4L/DVB (4818): Flexcop-usb: fix debug printk 2006-11-13 08:17:30 -02:00
flexcop-usb.h [PATCH] dvb: flexcop: fix USB transfer handling 2005-05-17 07:59:24 -07:00
flexcop.c V4L/DVB (4014): Remove the spagetti code gotos that aren't useful 2006-06-25 02:00:23 -03:00
flexcop.h [PATCH] dvb: flexcop: woraround irq stop problem 2005-07-07 18:23:56 -07:00
flexcop_ibi_value_be.h [PATCH] dvb: flexcop: woraround irq stop problem 2005-07-07 18:23:56 -07:00
flexcop_ibi_value_le.h [PATCH] dvb: flexcop: woraround irq stop problem 2005-07-07 18:23:56 -07:00
Kconfig V4L/DVB (5780): Dvb: Remove static dependencies on dvb-pll 2007-07-18 14:24:16 -03:00
Makefile V4L/DVB (5745): Dvb: use '+=' instead of '=' for EXTRA_CFLAGS 2007-07-18 14:23:56 -03:00