<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: I2C to UART IS16SC750 &amp;quot;BUG: Scheduling while atomic&amp;quot;</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579388#M88299</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;FYI, I'm using Linux kernel V4.1.18, and I read in some forums that there were some issues around the way the original driver implemented synchronization, which were apparently solved in the new driver included in &lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;Linux kernel &lt;/SPAN&gt;V4.2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;However, after&lt;/SPAN&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt; I &lt;/SPAN&gt;downloading the new driver from this link:&amp;nbsp; &lt;A href="https://github.com/torvalds/linux/blob/v4.2-rc3/drivers/tty/serial/sc16is7xx.c" title="https://github.com/torvalds/linux/blob/v4.2-rc3/drivers/tty/serial/sc16is7xx.c"&gt;linux/sc16is7xx.c at v4.2-rc3 · torvalds/linux · GitHub&lt;/A&gt; ,&lt;/SPAN&gt;&lt;SPAN style="background-color: #fcfcfc; color: #333333; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #fcfcfc; color: #333333; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;replacing the former driver and recompiling the kernel, the new image doesn't include the relevant uart port (&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;/ttySC0).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Aug 2016 11:21:03 GMT</pubDate>
    <dc:creator>ystern</dc:creator>
    <dc:date>2016-08-08T11:21:03Z</dc:date>
    <item>
      <title>I2C to UART IS16SC750 "BUG: Scheduling while atomic"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579387#M88298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;Hello,&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;I'm using NXP-SC16IS750 as i2c to uart bridge in Linux embedded board with i.MX6 cpu.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;The uart side of the NXP bridge (/ttySC0) is connected to a GPS, and the other side connects to the cpu (i2c-1 port).&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;The GPS works fine, but when the program terminates, I keep gating the following error messages from the kernel: &lt;STRONG&gt; BUG: scheduling while atomic: &amp;lt;bin file name&amp;gt;/839/0x00000002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;(The full error log is shown below).&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;The cause of these error messages is this line code:&amp;nbsp; fd_serial = open("/dev/ttySC0", O_RDWR);&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;I think the problem might be related to the definition of this bridge in the dts file, which was added as follows:&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&amp;amp;i2c1 {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;pinctrl-0 = &amp;lt;&amp;amp;i2c1_pins&amp;gt;;&lt;/P&gt;&lt;P&gt;status = "okay";&lt;/P&gt;&lt;P&gt;clock-frequency = &amp;lt;400000&amp;gt;;&lt;/P&gt;&lt;P&gt;sc16is750: sc16is750@48 {&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "nxp,sc16is750";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0x48&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clocks = &amp;lt;&amp;amp;sc16is750_clk&amp;gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt-parent = &amp;lt;&amp;amp;gpio3&amp;gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The phandle for the interrupt controller that services interrupts for this IC */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupts = &amp;lt;17 IRQ_TYPE_EDGE_FALLING&amp;gt;;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio-controller;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #gpio-cells = &amp;lt;2&amp;gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;The clock was added to the clocks dtsi file as follows:&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;sc16is750_clk: sc16is750_clk { &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "fixed-clock";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #clock-cells = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock-frequency = &amp;lt;7372800&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;Full error log:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.504499] BUG: scheduling while atomic: GPS_receiver/839/0x00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.510988] Modules linked in: ipv6 bc_example(O) usb_f_acm u_serial usb_f_ecm g_multi usb_f_mass_storage usb_f_rndis u_ether libcomposite cryptodev(O) rpmsg_pru virtio_rpmsg_bus musb_dsps musb_hdrc udc&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.546086] CPU: 0 PID: 839 Comm: GPS_receiver Tainted: G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.1.18-gbbe8cfc #1&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.554486] Hardware name: CAU3 (Flattened Device Tree)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.560614] Backtrace: &lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.563149] [&amp;lt;c0012910&amp;gt;] (dump_backtrace) from [&amp;lt;c0012b24&amp;gt;] (show_stack+0x18/0x1c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.570763]&amp;nbsp; r6:c0635a40 r5:c08adb00 r4:00000000 r3:00000000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.576542] [&amp;lt;c0012b0c&amp;gt;] (show_stack) from [&amp;lt;c0634080&amp;gt;] (dump_stack+0x20/0x28)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.583827] [&amp;lt;c0634060&amp;gt;] (dump_stack) from [&amp;lt;c0631554&amp;gt;] (__schedule_bug+0x4c/0x64)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.591463] [&amp;lt;c0631508&amp;gt;] (__schedule_bug) from [&amp;lt;c0635960&amp;gt;] (__schedule+0x40c/0x4a8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.599249]&amp;nbsp; r4:cc116d00 r3:00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.602890] [&amp;lt;c0635554&amp;gt;] (__schedule) from [&amp;lt;c0635a40&amp;gt;] (schedule+0x44/0x9c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.609978]&amp;nbsp; r9:cf3a0404 r8:00000002 r7:cc116d00 r6:ffffffff r5:cf3a0400 r4:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.617844] [&amp;lt;c06359fc&amp;gt;] (schedule) from [&amp;lt;c0635d04&amp;gt;] (schedule_preempt_disabled+0x28/0x44)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.626240]&amp;nbsp; r4:cf05e000 r3:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.629881] [&amp;lt;c0635cdc&amp;gt;] (schedule_preempt_disabled) from [&amp;lt;c0637568&amp;gt;] (__mutex_lock_slowpath+0xac/0x194)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.639515] [&amp;lt;c06374bc&amp;gt;] (__mutex_lock_slowpath) from [&amp;lt;c0637680&amp;gt;] (mutex_lock+0x30/0x34)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.647736]&amp;nbsp; r9:00000000 r8:00000008 r7:00000004 r6:00000001 r5:00000000 r4:cf3a0400&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.655606] [&amp;lt;c0637650&amp;gt;] (mutex_lock) from [&amp;lt;c04080c0&amp;gt;] (regmap_lock_mutex+0x10/0x14)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.663501] [&amp;lt;c04080b0&amp;gt;] (regmap_lock_mutex) from [&amp;lt;c040a5a8&amp;gt;] (regmap_update_bits+0x2c/0x64)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.672098] [&amp;lt;c040a57c&amp;gt;] (regmap_update_bits) from [&amp;lt;c03a5f0c&amp;gt;] (sc16is7xx_stop_rx+0x38/0x3c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.680669]&amp;nbsp; r7:a0070013 r6:cf3a990c r5:cf6c2000 r4:cf396180&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.686430] [&amp;lt;c03a5ed4&amp;gt;] (sc16is7xx_stop_rx) from [&amp;lt;c039947c&amp;gt;] (uart_close+0x2c8/0x320)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.694504] [&amp;lt;c03991b4&amp;gt;] (uart_close) from [&amp;lt;c037c34c&amp;gt;] (tty_release+0x108/0x514)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.702028]&amp;nbsp; r7:cf6366c0 r6:00000000 r5:cc826000 r4:cf6c2000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.707798] [&amp;lt;c037c244&amp;gt;] (tty_release) from [&amp;lt;c0102bf0&amp;gt;] (__fput+0x88/0x200)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.714886]&amp;nbsp; r10:cf6366c8 r9:00000000 r8:00000008 r7:cf253020 r6:cf3d73d0 r5:cc826000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.722820]&amp;nbsp; r4:cf6366c0&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.725399] [&amp;lt;c0102b68&amp;gt;] (__fput) from [&amp;lt;c0102dc4&amp;gt;] (____fput+0x10/0x14)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.732138]&amp;nbsp; r10:cc116d00 r9:00000020 r8:cf44bc74 r7:00000000 r6:c08e330c r5:cc116d00&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.740072]&amp;nbsp; r4:cc1170a8&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.742664] [&amp;lt;c0102db4&amp;gt;] (____fput) from [&amp;lt;c004dc1c&amp;gt;] (task_work_run+0x94/0xc4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.750036] [&amp;lt;c004db88&amp;gt;] (task_work_run) from [&amp;lt;c0037a40&amp;gt;] (do_exit+0x2c8/0x9f8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.757474]&amp;nbsp; r7:cf44bc40 r6:00418004 r5:cf4324c0 r4:00000000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.763225] [&amp;lt;c0037778&amp;gt;] (do_exit) from [&amp;lt;c00381f0&amp;gt;] (do_group_exit+0x44/0xf8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.770488]&amp;nbsp; r7:cf05fec8&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.773077] [&amp;lt;c00381ac&amp;gt;] (do_group_exit) from [&amp;lt;c0041d18&amp;gt;] (get_signal+0x19c/0x74c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.780776]&amp;nbsp; r4:cf05fedc r3:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.784418] [&amp;lt;c0041b7c&amp;gt;] (get_signal) from [&amp;lt;c00120dc&amp;gt;] (do_signal+0x6c/0x39c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.791681]&amp;nbsp; r10:00000000 r9:cf05e000 r8:fffffe00 r7:cf05fec8 r6:b6f010b6 r5:b6f010b4&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.799615]&amp;nbsp; r4:cf05ffb0&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.802198] [&amp;lt;c0012070&amp;gt;] (do_signal) from [&amp;lt;c00125cc&amp;gt;] (do_work_pending+0xa0/0xb0)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.809808]&amp;nbsp; r10:00000000 r9:cf05e000 r8:c000f864 r7:00000003 r6:cf05ffb0 r5:c000f864&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.817741]&amp;nbsp; r4:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.820321] [&amp;lt;c001252c&amp;gt;] (do_work_pending) from [&amp;lt;c000f70c&amp;gt;] (work_pending+0xc/0x20)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.828106]&amp;nbsp; r6:00000000 r5:00000000 r4:bec44bd8 r3:00002244&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.834479] sc16is7xx 1-0048: Port 0: Possible RX FIFO overrun: 64&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.846567] BUG: scheduling while atomic: GPS_receiver/839/0x00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.853119] Modules linked in: ipv6 bc_example(O) usb_f_acm u_serial usb_f_ecm g_multi usb_f_mass_storage usb_f_rndis u_ether libcomposite cryptodev(O) rpmsg_pru virtio_rpmsg_bus musb_dsps musb_hdrc udc&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.888097] CPU: 0 PID: 839 Comm: GPS_receiver Tainted: G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; W&amp;nbsp; O&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.1.18-gbbe8cfc #1&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.896485] Hardware name: CAU3 (Flattened Device Tree)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.902621] Backtrace: &lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.905111] [&amp;lt;c0012910&amp;gt;] (dump_backtrace) from [&amp;lt;c0012b24&amp;gt;] (show_stack+0x18/0x1c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.912733]&amp;nbsp; r6:c0635a40 r5:c08adb00 r4:00000000 r3:00000000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.918477] [&amp;lt;c0012b0c&amp;gt;] (show_stack) from [&amp;lt;c0634080&amp;gt;] (dump_stack+0x20/0x28)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.925738] [&amp;lt;c0634060&amp;gt;] (dump_stack) from [&amp;lt;c0631554&amp;gt;] (__schedule_bug+0x4c/0x64)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.933379] [&amp;lt;c0631508&amp;gt;] (__schedule_bug) from [&amp;lt;c0635960&amp;gt;] (__schedule+0x40c/0x4a8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.941172]&amp;nbsp; r4:cc116d00 r3:00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.944781] [&amp;lt;c0635554&amp;gt;] (__schedule) from [&amp;lt;c0635a40&amp;gt;] (schedule+0x44/0x9c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.951873]&amp;nbsp; r9:00000000 r8:c08af2d0 r7:c08f4c40 r6:c08f4c40 r5:000017c3 r4:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.959711] [&amp;lt;c06359fc&amp;gt;] (schedule) from [&amp;lt;c0638550&amp;gt;] (schedule_timeout+0x124/0x1d4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.967501]&amp;nbsp; r4:cf05faac r3:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.971108] [&amp;lt;c063842c&amp;gt;] (schedule_timeout) from [&amp;lt;c0636468&amp;gt;] (wait_for_common+0xec/0x1b8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.979421]&amp;nbsp; r9:cc116d00 r8:cf3a9420 r7:00000000 r6:00000000 r5:00000002 r4:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.987251] [&amp;lt;c063637c&amp;gt;] (wait_for_common) from [&amp;lt;c0636564&amp;gt;] (wait_for_completion_timeout+0x14/0x18)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 359.996421]&amp;nbsp; r9:cf05fc04 r8:00008603 r7:00000001 r6:00000000 r5:c08af2d0 r4:cf3a9410&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.004255] [&amp;lt;c0636550&amp;gt;] (wait_for_completion_timeout) from [&amp;lt;c04a08e0&amp;gt;] (omap_i2c_xfer+0xd4/0x640)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.013380] [&amp;lt;c04a080c&amp;gt;] (omap_i2c_xfer) from [&amp;lt;c049ad64&amp;gt;] (__i2c_transfer+0x134/0x280)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.021435]&amp;nbsp; r10:00000001 r9:cf3a9450 r8:cf05fc04 r7:cf3a9478 r6:0000175f r5:c08af2d0&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.029348]&amp;nbsp; r4:00000000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.031902] [&amp;lt;c049ac30&amp;gt;] (__i2c_transfer) from [&amp;lt;c049af94&amp;gt;] (i2c_transfer+0xe4/0x140)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.039779]&amp;nbsp; r10:00000001 r9:c07b5618 r8:c07ffc3c r7:cf3a9478 r6:00000001 r5:cf05fc04&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.047689]&amp;nbsp; r4:0000000c r3:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.051298] [&amp;lt;c049aeb0&amp;gt;] (i2c_transfer) from [&amp;lt;c049b034&amp;gt;] (i2c_master_send+0x44/0x54)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.059174]&amp;nbsp; r10:cf39cf42 r9:00000001 r8:cf39cf41 r7:00000000 r6:cf39cf41 r5:00000001&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.067083]&amp;nbsp; r4:00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.069650] [&amp;lt;c049aff0&amp;gt;] (i2c_master_send) from [&amp;lt;c040e550&amp;gt;] (regmap_i2c_write+0x18/0x34)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.077876]&amp;nbsp; r4:00000002&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.080432] [&amp;lt;c040e538&amp;gt;] (regmap_i2c_write) from [&amp;lt;c040a388&amp;gt;] (_regmap_raw_write+0x658/0x694)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.089007]&amp;nbsp; r4:cf3a0400 r3:c040e538&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.092616] [&amp;lt;c0409d30&amp;gt;] (_regmap_raw_write) from [&amp;lt;c040a438&amp;gt;] (_regmap_bus_raw_write+0x74/0x94)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.101452]&amp;nbsp; r10:cf6366c8 r9:00000000 r8:cf3a0400 r7:cf3a0400 r6:00000082 r5:00000004&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.109363]&amp;nbsp; r4:cf3a0400&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.111918] [&amp;lt;c040a3c4&amp;gt;] (_regmap_bus_raw_write) from [&amp;lt;c0409638&amp;gt;] (_regmap_write+0x60/0x9c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.120405]&amp;nbsp; r6:00000082 r5:00000004 r4:cf3a0400 r3:c040a3c4&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.126121] [&amp;lt;c04095d8&amp;gt;] (_regmap_write) from [&amp;lt;c04096cc&amp;gt;] (_regmap_update_bits+0x58/0x7c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.134434]&amp;nbsp; r7:00000004 r6:00000000 r5:00000000 r4:00000082&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.140167] [&amp;lt;c0409674&amp;gt;] (_regmap_update_bits) from [&amp;lt;c040a5c4&amp;gt;] (regmap_update_bits+0x48/0x64)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.148917]&amp;nbsp; r8:00000008 r7:00000004 r6:00000001 r5:00000000 r4:cf3a0400&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.155688] [&amp;lt;c040a57c&amp;gt;] (regmap_update_bits) from [&amp;lt;c03a5f0c&amp;gt;] (sc16is7xx_stop_rx+0x38/0x3c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.164265]&amp;nbsp; r7:a0070013 r6:cf3a990c r5:cf6c2000 r4:cf396180&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.170001] [&amp;lt;c03a5ed4&amp;gt;] (sc16is7xx_stop_rx) from [&amp;lt;c039947c&amp;gt;] (uart_close+0x2c8/0x320)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.178067] [&amp;lt;c03991b4&amp;gt;] (uart_close) from [&amp;lt;c037c34c&amp;gt;] (tty_release+0x108/0x514)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.185581]&amp;nbsp; r7:cf6366c0 r6:00000000 r5:cc826000 r4:cf6c2000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.191321] [&amp;lt;c037c244&amp;gt;] (tty_release) from [&amp;lt;c0102bf0&amp;gt;] (__fput+0x88/0x200)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.198413]&amp;nbsp; r10:cf6366c8 r9:00000000 r8:00000008 r7:cf253020 r6:cf3d73d0 r5:cc826000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.206308]&amp;nbsp; r4:cf6366c0&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.208880] [&amp;lt;c0102b68&amp;gt;] (__fput) from [&amp;lt;c0102dc4&amp;gt;] (____fput+0x10/0x14)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.215609]&amp;nbsp; r10:cc116d00 r9:00000020 r8:cf44bc74 r7:00000000 r6:c08e330c r5:cc116d00&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.223520]&amp;nbsp; r4:cc1170a8&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.226083] [&amp;lt;c0102db4&amp;gt;] (____fput) from [&amp;lt;c004dc1c&amp;gt;] (task_work_run+0x94/0xc4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.233447] [&amp;lt;c004db88&amp;gt;] (task_work_run) from [&amp;lt;c0037a40&amp;gt;] (do_exit+0x2c8/0x9f8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.240891]&amp;nbsp; r7:cf44bc40 r6:00418004 r5:cf4324c0 r4:00000000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.246606] [&amp;lt;c0037778&amp;gt;] (do_exit) from [&amp;lt;c00381f0&amp;gt;] (do_group_exit+0x44/0xf8)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.253872]&amp;nbsp; r7:cf05fec8&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.256434] [&amp;lt;c00381ac&amp;gt;] (do_group_exit) from [&amp;lt;c0041d18&amp;gt;] (get_signal+0x19c/0x74c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.264137]&amp;nbsp; r4:cf05fedc r3:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.267764] [&amp;lt;c0041b7c&amp;gt;] (get_signal) from [&amp;lt;c00120dc&amp;gt;] (do_signal+0x6c/0x39c)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.275015]&amp;nbsp; r10:00000000 r9:cf05e000 r8:fffffe00 r7:cf05fec8 r6:b6f010b6 r5:b6f010b4&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.282927]&amp;nbsp; r4:cf05ffb0&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.285495] [&amp;lt;c0012070&amp;gt;] (do_signal) from [&amp;lt;c00125cc&amp;gt;] (do_work_pending+0xa0/0xb0)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.293113]&amp;nbsp; r10:00000000 r9:cf05e000 r8:c000f864 r7:00000003 r6:cf05ffb0 r5:c000f864&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.301025]&amp;nbsp; r4:cf05e000&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.303580] [&amp;lt;c001252c&amp;gt;] (do_work_pending) from [&amp;lt;c000f70c&amp;gt;] (work_pending+0xc/0x20)&lt;/P&gt;&lt;P&gt;[&amp;nbsp; 360.311369]&amp;nbsp; r6:00000000 r5:00000000 r4:bec44bd8 r3:00002244&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Aug 2016 08:39:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579387#M88298</guid>
      <dc:creator>ystern</dc:creator>
      <dc:date>2016-08-07T08:39:51Z</dc:date>
    </item>
    <item>
      <title>Re: I2C to UART IS16SC750 "BUG: Scheduling while atomic"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579388#M88299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;FYI, I'm using Linux kernel V4.1.18, and I read in some forums that there were some issues around the way the original driver implemented synchronization, which were apparently solved in the new driver included in &lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;Linux kernel &lt;/SPAN&gt;V4.2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt;However, after&lt;/SPAN&gt;&lt;SPAN style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #fcfcfc;"&gt; I &lt;/SPAN&gt;downloading the new driver from this link:&amp;nbsp; &lt;A href="https://github.com/torvalds/linux/blob/v4.2-rc3/drivers/tty/serial/sc16is7xx.c" title="https://github.com/torvalds/linux/blob/v4.2-rc3/drivers/tty/serial/sc16is7xx.c"&gt;linux/sc16is7xx.c at v4.2-rc3 · torvalds/linux · GitHub&lt;/A&gt; ,&lt;/SPAN&gt;&lt;SPAN style="background-color: #fcfcfc; color: #333333; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #fcfcfc; color: #333333; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;replacing the former driver and recompiling the kernel, the new image doesn't include the relevant uart port (&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;/ttySC0).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2016 11:21:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579388#M88299</guid>
      <dc:creator>ystern</dc:creator>
      <dc:date>2016-08-08T11:21:03Z</dc:date>
    </item>
    <item>
      <title>Re: I2C to UART IS16SC750 "BUG: Scheduling while atomic"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579389#M88300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yehuda&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;similar issue, seems due to synchronization was reported on&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.spinics.net/lists/linux-serial/msg21711.html" title="http://www.spinics.net/lists/linux-serial/msg21711.html"&gt;Re: sc16is7xx: sometimes invalid chars read — Linux Serial&lt;/A&gt; &lt;/P&gt;&lt;P&gt;"BUG: scheduling while atomic" is kernel error so one can post issue on&lt;/P&gt;&lt;P&gt;&lt;A href="http://vger.kernel.org/vger-lists.html#linux-serial" title="http://vger.kernel.org/vger-lists.html#linux-serial"&gt;Majordomo Lists at VGER.KERNEL.ORG&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2016 11:40:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2C-to-UART-IS16SC750-quot-BUG-Scheduling-while-atomic-quot/m-p/579389#M88300</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2016-08-08T11:40:50Z</dc:date>
    </item>
  </channel>
</rss>

