On 04/07/07 17:51 +0300, Kimmo Surakka wrote: > Hello all, > Hi! ... > Problem #2: I2C unreliability. My test setup has two slaves connected > on the TQM5200 I2C bus #1. On default setup this bus is disabled, so I > needed to edit file drivers/i2c/i2c-tqm5200.c and changethe value of > MPC5xxx_I2C1_ENABLE. After this change, the bus gets initialised. > However, it's not reliable. I send smbus_read_word and > smbus_write_word commands to the slaves every few milliseconds. Sooner > or later the bus gets stuck, apparently forever. I found an old I2c
This is probably a hardware bug as described in: http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html > patch for mpc5200 and modified it a bit. With the patch applied, the > kernel tries to detect bus lock-ups and reset the bus. This helps a > lot: now the lock-ups are only temporary. However, the dmesg log gets > polluted with lines like > > Warning: kfree_skb on hard IRQ c008ecfc > Warning: kfree_skb on hard IRQ c008ecfc > Warning: kfree_skb on hard IRQ c008ecfc > Warning: kfree_skb on hard IRQ c008ecfc > Warning: kfree_skb on hard IRQ c008ecfc > Warning: kfree_skb on hard IRQ c008ecfc > > (always the same IRQ). The seem to come from net/core/skbuff.c, and > caused by kfree_skb being called while in_irq(). > I'm not seeing these (2.6-git from kernel.org) Domen _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded