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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits