Hi, As a compromise,we hope make the phone system free to run even the i2c subsystem become busy already.Then there maybe time to choose some useful way to solve that. The console can not input when phone hang now. So we try to make the sleep time in i2c layer long enough,but the result not well,because there are many threads waiting for i2c bus operation.The key threads such as serial console could not get chance to run,or cannot interact with user timely. Anyone could give a hand about this? Thanks in advance again. --Yize 2009/4/27 伊泽 <wxc200@xxxxxxxxx> > > thanks your reply ,Jean and Mike > > Winston Churchill - "The best argument against democracy is a five-minute conversation with the average voter." > > 2009/4/27 Mike Rapoport <mike@xxxxxxxxxxxxxx> >> >> >> Jean Delvare wrote: >> > On Mon, 27 Apr 2009 15:57:45 +0800, 伊泽 wrote: >> >> We use Marvell's pxaXXX chip,and the i2c unit often become BUSY status .As >> >> normal operation,the Unit-Busy will become free quickly,but sometimes >> >> UNIT-BUSY forever.For there are very frequent i2c operations,the cell-phone >> >> become hang soon,nothing could be done but remove the battery and reboot. >> >> >> >> So could you give a suggestion? Is there any useful way to protect from >> >> entering this abnormal UNIT-BUSY i2c status or recover from that? >> >> PXA I2C controller often reports BUSY when one of the I2C lines are held low. >> Verify you have proper pull-ups and that devices connected to I2C bus behave in >> a sane way. > > Yes,we do.The unrecoverable problem is UNIT-BUSY,we still be confused by the root cause.Now we guess there are two types of answers: > > 1) Another master left I2C busy in abnormal status after operation > 2) Protocol conflict violation caused by messages transfer,such as the too large message or wrong operation.Most of the time,I2C works fine. > > We thought there would be some reset mechasim in that bad situation,but not. > There are many threads waiting for the mutex lock while the current operating one is trying,trying,and trying,,,but I2C Unit Busy block all. > > -- Yize >> >> > I don't know anything about PXA platforms, there's nothing I can do for >> > you, sorry. >> > >> >> -- >> Sincerely yours, >> Mike. >> > -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html