The patch number 9778 was added via Andy Walls <[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: Andy Walls <[EMAIL PROTECTED]>
cx18: cx18_writel_expect() should not declare success on a PCI read error
cx18: cx18_writel_expect() should not declare success on a PCI read error.
This removes the potential for cx18_write*_expect() calls to not
accomplish a PCI write successfully as expected. The CX18-AV core uses the
*expect() calls often and this may be the source of intermittent audio
problems and standands switching problems.
Priority: normal
Signed-off-by: Andy Walls <[EMAIL PROTECTED]>
---
linux/drivers/media/video/cx18/cx18-io.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff -r 47b5de4dca84 -r 215b27875810 linux/drivers/media/video/cx18/cx18-io.h
--- a/linux/drivers/media/video/cx18/cx18-io.h Tue Nov 25 20:02:45 2008 -0500
+++ b/linux/drivers/media/video/cx18/cx18-io.h Sun Nov 30 08:01:21 2008 -0500
@@ -83,10 +83,14 @@ void cx18_writel_expect(struct cx18 *cx,
u32 eval, u32 mask)
{
int i;
+ u32 r;
eval &= mask;
for (i = 0; i < CX18_MAX_MMIO_WR_RETRIES; i++) {
cx18_writel_noretry(cx, val, addr);
- if (eval == (cx18_readl(cx, addr) & mask))
+ r = cx18_readl(cx, addr);
+ if (r == 0xffffffff && eval != 0xffffffff)
+ continue;
+ if (eval == (r & mask))
break;
}
}
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/215b27875810ad5bc33041fb987f4f9db6464609
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits