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.&nbsp; 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> &lt;<a href="mailto:galak@kernel.crashing.org">galak@kernel.crashing.org</a>&gt; 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>&gt; I get this when I activathte NTP and ntp &quot;sync&quot; the time the I2C HW<br>&gt; clock.<br><br>You may be better off posting this to lkml and copy the i2c list (and
<br>rtc if one exists).&nbsp;&nbsp;Since its more a driver issue than anything<br>really ppc specific.&nbsp;&nbsp;Clearly we are doing schedules() in mpc_xfer()<br>and maybe we shouldn't be.<br><br>- kumar<br><br>&gt; BUG: scheduling while atomic: swapper/0x00010000/0
<br>&gt; Call Trace:^M<br>&gt; [C0245C80] [C000860C] show_stack+0x48/0x194 (unreliable)<br>&gt; [C0245CB0] [C01BEFF4] schedule+0x5d4/0x618<br>&gt; [C0245CF0] [C01BF9C8] schedule_timeout+0x70/0xd0<br>&gt; [C0245D30] [C014416C] i2c_wait+0x164/0x1d8
<br>&gt; [C0245D80] [C0144490] mpc_xfer+0x2b0/0x3a8<br>&gt; [C0245DD0] [C01423E8] i2c_transfer+0x58/0x7c<br>&gt; [C0245DF0] [C0141124] ds1307_set_time+0x1bc/0x234<br>&gt; [C0245E00] [C013F82C] rtc_set_time+0xb0/0xb8^M<br>
&gt; [C0245E20] [C000BFC4] set_rtc_class_time+0x34/0x58<br>&gt; [C0245E40] [C000C8D0] timer_interrupt+0x5a0/0x5fc<br>&gt; [C0245EE0] [C000F7B0] ret_from_except+0x0/0x14<br>&gt; --- Exception: 901 at cpu_idle+0xc8/0xf0<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; LR = cpu_idle+0xec/0xf0<br>&gt; [C0245FC0] [C000388C] rest_init+0x28/0x38<br>&gt; [C0245FD0] [C01F36E0] start_kernel+0x1d8/0x228<br>&gt; [C0245FF0] [00003438] 0x3438<br>&gt;<br>&gt; I have activated RTC CLASS and have this in my board file:
<br>&gt; #ifdef CONFIG_RTC_CLASS<br>&gt; late_initcall(rtc_class_hookup);<br>&gt; #endif<br>&gt;<br>&gt; kernel 2.6.19-rc5<br>&gt;<br>&gt;&nbsp;&nbsp;Jocke<br>&gt;<br>&gt; _______________________________________________<br>&gt; Linuxppc-dev mailing list
<br>&gt; <a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>&gt; <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>