Joakim,<br>We are having the exact same problem. And if I understand correctly, the schedule call in i2c-mpc driver is because we are waiting for the interrupt signaling a byte transfer complete. If the interrupt does not yet come, the driver call schedule to wait, both for polling mode and interrupt mode. I am not sure if it is some problem occurs making the interrupt not coming quick enough. We still try to resolve. Please let us know if you find a solution and we definitely will post our finding if we can resolve.
<br><br>-Ngo<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">Kumar Gala</b> <<a href="mailto:galak@kernel.crashing.org">galak@kernel.crashing.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>On Nov 17, 2006, at 10:38 AM, Joakim Tjernlund wrote:<br><br>> I get this when I activathte NTP and ntp "sync" the time the I2C HW<br>> clock.<br><br>You may be better off posting this to lkml and copy the i2c list (and
<br>rtc if one exists). Since its more a driver issue than anything<br>really ppc specific. Clearly we are doing schedules() in mpc_xfer()<br>and maybe we shouldn't be.<br><br>- kumar<br><br>> BUG: scheduling while atomic: swapper/0x00010000/0
<br>> Call Trace:^M<br>> [C0245C80] [C000860C] show_stack+0x48/0x194 (unreliable)<br>> [C0245CB0] [C01BEFF4] schedule+0x5d4/0x618<br>> [C0245CF0] [C01BF9C8] schedule_timeout+0x70/0xd0<br>> [C0245D30] [C014416C] i2c_wait+0x164/0x1d8
<br>> [C0245D80] [C0144490] mpc_xfer+0x2b0/0x3a8<br>> [C0245DD0] [C01423E8] i2c_transfer+0x58/0x7c<br>> [C0245DF0] [C0141124] ds1307_set_time+0x1bc/0x234<br>> [C0245E00] [C013F82C] rtc_set_time+0xb0/0xb8^M<br>
> [C0245E20] [C000BFC4] set_rtc_class_time+0x34/0x58<br>> [C0245E40] [C000C8D0] timer_interrupt+0x5a0/0x5fc<br>> [C0245EE0] [C000F7B0] ret_from_except+0x0/0x14<br>> --- Exception: 901 at cpu_idle+0xc8/0xf0<br>
> LR = cpu_idle+0xec/0xf0<br>> [C0245FC0] [C000388C] rest_init+0x28/0x38<br>> [C0245FD0] [C01F36E0] start_kernel+0x1d8/0x228<br>> [C0245FF0] [00003438] 0x3438<br>><br>> I have activated RTC CLASS and have this in my board file:
<br>> #ifdef CONFIG_RTC_CLASS<br>> late_initcall(rtc_class_hookup);<br>> #endif<br>><br>> kernel 2.6.19-rc5<br>><br>> Jocke<br>><br>> _______________________________________________<br>> Linuxppc-dev mailing list
<br>> <a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>> <a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br><br>_______________________________________________
<br>Linuxppc-dev mailing list<br><a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br><a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br></blockquote>
</div><br>