The patch number 9476 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]> to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward compatible with older kernels. Compatibility modifications will be removed before inclusion into the mainstream Kernel If anyone has any objections, please let us know by sending a message to: [EMAIL PROTECTED] ------ From: Mauro Carvalho Chehab <[EMAIL PROTECTED]> merge: http://linuxtv.org/hg/~awalls/cx18-bugfix Priority: normal Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]> --- linux/drivers/media/video/cx18/cx18-driver.c | 2 -- linux/drivers/media/video/cx18/cx18-io.c | 4 ++-- linux/drivers/media/video/cx18/cx18-irq.c | 6 +++--- linux/drivers/media/video/cx18/cx18-mailbox.c | 4 ++-- 4 files changed, 7 insertions(+), 9 deletions(-) diff -r 534445ecb653 -r 8d49e3f706ac linux/drivers/media/video/cx18/cx18-driver.c --- a/linux/drivers/media/video/cx18/cx18-driver.c Tue Oct 28 01:27:37 2008 +0000 +++ b/linux/drivers/media/video/cx18/cx18-driver.c Thu Oct 30 05:51:07 2008 -0200 @@ -732,8 +732,6 @@ static int __devinit cx18_probe(struct p cx->std = V4L2_STD_NTSC_M; if (cx->options.tuner == -1) { - int i; - for (i = 0; i < CX18_CARD_MAX_TUNERS; i++) { if ((cx->std & cx->card->tuners[i].std) == 0) continue; diff -r 534445ecb653 -r 8d49e3f706ac linux/drivers/media/video/cx18/cx18-io.c --- a/linux/drivers/media/video/cx18/cx18-io.c Tue Oct 28 01:27:37 2008 +0000 +++ b/linux/drivers/media/video/cx18/cx18-io.c Thu Oct 30 05:51:07 2008 -0200 @@ -218,7 +218,7 @@ void cx18_sw1_irq_enable(struct cx18 *cx void cx18_sw1_irq_enable(struct cx18 *cx, u32 val) { u32 r; - cx18_write_reg(cx, val, SW1_INT_STATUS); + cx18_write_reg_noretry(cx, val, SW1_INT_STATUS); r = cx18_read_reg(cx, SW1_INT_ENABLE_PCI); cx18_write_reg(cx, r | val, SW1_INT_ENABLE_PCI); } @@ -233,7 +233,7 @@ void cx18_sw2_irq_enable(struct cx18 *cx void cx18_sw2_irq_enable(struct cx18 *cx, u32 val) { u32 r; - cx18_write_reg(cx, val, SW2_INT_STATUS); + cx18_write_reg_noretry(cx, val, SW2_INT_STATUS); r = cx18_read_reg(cx, SW2_INT_ENABLE_PCI); cx18_write_reg(cx, r | val, SW2_INT_ENABLE_PCI); } diff -r 534445ecb653 -r 8d49e3f706ac linux/drivers/media/video/cx18/cx18-irq.c --- a/linux/drivers/media/video/cx18/cx18-irq.c Tue Oct 28 01:27:37 2008 +0000 +++ b/linux/drivers/media/video/cx18/cx18-irq.c Thu Oct 30 05:51:07 2008 -0200 @@ -153,9 +153,9 @@ irqreturn_t cx18_irq_handler(int irq, vo sw1_mask = cx18_read_reg(cx, SW1_INT_ENABLE_PCI) | IRQ_EPU_TO_HPU; sw1 = cx18_read_reg(cx, SW1_INT_STATUS) & sw1_mask; - cx18_write_reg(cx, sw2&sw2_mask, SW2_INT_STATUS); - cx18_write_reg(cx, sw1&sw1_mask, SW1_INT_STATUS); - cx18_write_reg(cx, hw2&hw2_mask, HW2_INT_CLR_STATUS); + cx18_write_reg_noretry(cx, sw2&sw2_mask, SW2_INT_STATUS); + cx18_write_reg_noretry(cx, sw1&sw1_mask, SW1_INT_STATUS); + cx18_write_reg_noretry(cx, hw2&hw2_mask, HW2_INT_CLR_STATUS); if (sw1 || sw2 || hw2) CX18_DEBUG_HI_IRQ("SW1: %x SW2: %x HW2: %x\n", sw1, sw2, hw2); diff -r 534445ecb653 -r 8d49e3f706ac linux/drivers/media/video/cx18/cx18-mailbox.c --- a/linux/drivers/media/video/cx18/cx18-mailbox.c Tue Oct 28 01:27:37 2008 +0000 +++ b/linux/drivers/media/video/cx18/cx18-mailbox.c Thu Oct 30 05:51:07 2008 -0200 @@ -176,7 +176,7 @@ long cx18_mb_ack(struct cx18 *cx, const cx18_setup_page(cx, SCB_OFFSET); cx18_write_sync(cx, mb->request, &ack_mb->ack); - cx18_write_reg(cx, ack_irq, SW2_INT_SET); + cx18_write_reg_noretry(cx, ack_irq, SW2_INT_SET); return 0; } @@ -225,7 +225,7 @@ static int cx18_api_call(struct cx18 *cx } if (info->flags & API_FAST) timeout /= 2; - cx18_write_reg(cx, irq, SW1_INT_SET); + cx18_write_reg_noretry(cx, irq, SW1_INT_SET); while (!sig && cx18_readl(cx, &mb->ack) != cx18_readl(cx, &mb->request) && cnt < 660) { --- Patch is available at: http://linuxtv.org/hg/v4l-dvb/rev/8d49e3f706ac7db321705ccd725dc9c2a337def5 _______________________________________________ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits