Re: saa7146_i2c_writeout: timed out waiting for end of xfer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manfred Petz wrote:
> On Sat, 2007-05-26 at 10:22 +0200, Soeren Sonnenburg wrote:
> > Dear list,
> > 
> > since post 2.6.19 I keep getting flooded with 
> > 
> > saa7146_i2c_writeout: timed out waiting for end of xfer
> > 
> 
> hi,
> 
> i'm experiencing a similar problem. using 2.6.19.1 with latest hg dvb
> driver (knc-1 dvb-s) everything works. though, from at least 2.6.19.7
> on, with the same kernel config and same hardware (same dvb drivers), i
> get those i2c timeouts and, when doing 'modprobe budget-av', not all
> cards get deteced. 
> 
>   kernel: KNC1-5: Could not read MAC from KNC1 card
>   kernel: saa7146_i2c_writeout: timed out waiting for end of xfer
>   last message repeated 7 times
>   budget-av: A frontend driver was not found for device 1131/7146 subsystem 1894/0016
> 
> since i'm using the same dvb driver, that problem seems to be triggered
> somewhere else.

Could you please try the attached patch (saa7146_i2c_retry.diff)?

If it does not help, please try the second patch
(budget-av_slowi2c.diff).

Any improvements?

Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------
diff -r 39c2d2041e6e linux/drivers/media/common/saa7146_i2c.c
--- a/linux/drivers/media/common/saa7146_i2c.c	Thu Jul 05 00:18:34 2007 +0200
+++ b/linux/drivers/media/common/saa7146_i2c.c	Mon Jul 09 23:55:55 2007 +0200
@@ -329,9 +329,9 @@ int saa7146_i2c_transfer(struct saa7146_
 				   completely for analog cards after an address error and trust
 				   the saa7146 address error detection. */
 				if ( -EREMOTEIO == err ) {
-					if( 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) {
-						goto out;
-					}
+//					if( 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) {
+//						goto out;
+//					}
 					address_err++;
 				}
 				DEB_I2C(("error while sending message(s). starting again.\n"));
diff -r 39c2d2041e6e linux/drivers/media/dvb/ttpci/budget-av.c
--- a/linux/drivers/media/dvb/ttpci/budget-av.c	Thu Jul 05 00:18:34 2007 +0200
+++ b/linux/drivers/media/dvb/ttpci/budget-av.c	Tue Jul 10 00:07:09 2007 +0200
@@ -961,6 +961,7 @@ static void frontend_init(struct budget_
 	case SUBID_DVBS_CYNERGY1200N:
 	case SUBID_DVBS_EASYWATCH:
 	case SUBID_DVBS_EASYWATCH_2:
+		budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
 		fe = dvb_attach(stv0299_attach, &philips_sd1878_config,
 				&budget_av->budget.i2c_adap);
 		if (fe) {
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux