8 Replies Latest reply on Jan 19, 2016 2:50 PM by Intel_Alvarado

    i2c_dw_handle_tx_abort after update Edison Firmware

    MiguelAngelLV

      After update the edison firmware to last version I can't write with i2c port.

       

      I have a fews Edison, the one with older version the program works fine, the edisons updated don't. The dmesgs show

       

      [  228.665911] i2c-designware-pci 0000:00:08.0: I2C speed mode changed to std

      [  228.666957] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

      [  831.609131] i2c-designware-pci 0000:00:08.0: I2C speed mode changed to std

      [  831.610085] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

        • 1. Re: i2c_dw_handle_tx_abort after update Edison Firmware
          Intel_Alvarado

          Hi,

          There are a few of threads that discuss this issue. Take a look at them and follow the suggestions given to the users.

           

          Re: I2C connection getting unstable

          Re: Edison i2c lost arbitration when enable any 2 devices

          Re: Please, help with GPIO setup (both boards)

           

          Sergio

          • 2. Re: i2c_dw_handle_tx_abort after update Edison Firmware
            MiguelAngelLV

            Thank you for the links. I have read those posts but my problem isn't exactly the same so I'm still at the same place.

             

            They have problems when using two devices but I only have a difficulties with bus 1.

             

            The strange thing is that every first time I read from the register, the method fails, but every second time I read from the register method doesn't fail and the data is retrieved. And so on every time data is supposely available.

             

            This is what dmesg gives me:

             

            [ 1263.533898] i2c-6: recovery ignore

            [ 1266.579145] ------------[ cut here ]------------

            [ 1266.579191] WARNING: at /data/jenkins_worker/workspace/edison-weekly/linux-kernel/drivers/i2c/busses/i2c-designware-core.c:1236 i2c_dw_xfer+0x1d2/0x5b0()

            [ 1266.579208] Device: i2c-designware-pci

            [ 1266.579208] controller timed out

            [ 1266.579224] Modules linked in: usb_f_acm u_serial g_multi libcomposite bcm_bt_lpm bcm4334x(O)

            [ 1266.579289] CPU: 0 PID: 1766 Comm: i2cdetect Tainted: G        W  O 3.10.17-poky-edison+ #1

            [ 1266.579304] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

            [ 1266.579319]  f5f23d58 f5f23d58 f5f23d20 c18af571 f5f23d48 c123e92e c1b1804c f5f23d74

            [ 1266.579378]  000004d4 c16228e2 c16228e2 f66ea000 f5f23e18 f66ea024 f5f23d60 c123e983

            [ 1266.579434]  00000009 f5f23d58 c1b1804c f5f23d74 f5f23d94 c16228e2 c1b18070 000004d4

            [ 1266.579491] Call Trace:

            [ 1266.579526]  [<c18af571>] dump_stack+0x16/0x18

            [ 1266.579558]  [<c123e92e>] warn_slowpath_common+0x5e/0x80

            [ 1266.579586]  [<c16228e2>] ? i2c_dw_xfer+0x1d2/0x5b0

            [ 1266.579611]  [<c16228e2>] ? i2c_dw_xfer+0x1d2/0x5b0

            [ 1266.579639]  [<c123e983>] warn_slowpath_fmt+0x33/0x40

            [ 1266.579666]  [<c16228e2>] i2c_dw_xfer+0x1d2/0x5b0

            [ 1266.579700]  [<c161cd15>] __i2c_transfer+0x55/0x70

            [ 1266.579727]  [<c161dafd>] i2c_transfer+0x4d/0xc0

            [ 1266.579756]  [<c12c59a1>] ? tracing_is_on+0x11/0x30

            [ 1266.579781]  [<c161de32>] i2c_smbus_xfer+0x222/0x5d0

            [ 1266.579807]  [<c18b4a0d>] ? _raw_spin_unlock_irq+0x1d/0x40

            [ 1266.579835]  [<c126a03e>] ? finish_task_switch+0x4e/0xa0

            [ 1266.579864]  [<c12cfb90>] ? tracing_sched_wakeup_trace+0xb0/0xb0

            [ 1266.579894]  [<c18b49e7>] ? _raw_spin_unlock_irqrestore+0x47/0x50

            [ 1266.579923]  [<c126ee63>] ? try_to_wake_up+0x173/0x240

            [ 1266.579956]  [<c14c4be2>] ? _copy_from_user+0x42/0x60

            [ 1266.579982]  [<c161f968>] i2cdev_ioctl_smbus+0x148/0x280

            [ 1266.580016]  [<c1569d4d>] ? device_for_each_child+0x4d/0x70

            [ 1266.580043]  [<c161fe59>] i2cdev_ioctl+0x49/0x1e0

            [ 1266.580073]  [<c126503d>] ? __srcu_read_lock+0x6d/0x90

            [ 1266.580101]  [<c161fe10>] ? i2cdev_ioctl_rdrw.isra.7+0x210/0x210

            [ 1266.580127]  [<c132a836>] do_vfs_ioctl+0x2f6/0x540

            [ 1266.580158]  [<c146d53a>] ? inode_has_perm.isra.41.constprop.78+0x3a/0x50

            [ 1266.580187]  [<c146d5d7>] ? file_has_perm+0x87/0x90

            [ 1266.580218]  [<c146d99c>] ? selinux_file_ioctl+0x4c/0xf0

            [ 1266.580244]  [<c132aae0>] SyS_ioctl+0x60/0x80

            [ 1266.580272]  [<c18b5038>] syscall_call+0x7/0xb

            [ 1266.580294] ---[ end trace 9575b12e74506e3e ]---

            [ 1266.580318] i2c-designware-pci 0000:00:09.1: ===== REGISTER DUMP (i2c) =====

            [ 1266.580416] i2c-designware-pci 0000:00:09.1: DW_IC_CON:               0x65

            [ 1266.580491] i2c-designware-pci 0000:00:09.1: DW_IC_TAR:               0x8

            [ 1266.580563] i2c-designware-pci 0000:00:09.1: DW_IC_SS_SCL_HCNT:       0x2f8

            [ 1266.580636] i2c-designware-pci 0000:00:09.1: DW_IC_SS_SCL_LCNT:       0x37b

            [ 1266.580708] i2c-designware-pci 0000:00:09.1: DW_IC_FS_SCL_HCNT:       0x87

            [ 1266.580779] i2c-designware-pci 0000:00:09.1: DW_IC_FS_SCL_LCNT:       0x10a

            [ 1266.580851] i2c-designware-pci 0000:00:09.1: DW_IC_INTR_STAT:         0x0

            [ 1266.580922] i2c-designware-pci 0000:00:09.1: DW_IC_INTR_MASK:         0x246

            [ 1266.580995] i2c-designware-pci 0000:00:09.1: DW_IC_RAW_INTR_STAT:     0x10

            [ 1266.581066] i2c-designware-pci 0000:00:09.1: DW_IC_RX_TL:             0x20

            [ 1266.581138] i2c-designware-pci 0000:00:09.1: DW_IC_TX_TL:             0x20

            [ 1266.581209] i2c-designware-pci 0000:00:09.1: DW_IC_ENABLE:            0x1

            [ 1266.581280] i2c-designware-pci 0000:00:09.1: DW_IC_STATUS:            0x2

            [ 1266.581350] i2c-designware-pci 0000:00:09.1: DW_IC_TXFLR:             0x1

            [ 1266.581421] i2c-designware-pci 0000:00:09.1: DW_IC_RXFLR:             0x0

            [ 1266.581492] i2c-designware-pci 0000:00:09.1: DW_IC_TX_ABRT_SOURCE:    0x0

            [ 1266.581563] i2c-designware-pci 0000:00:09.1: DW_IC_DATA_CMD:          0x0

            [ 1266.581633] i2c-designware-pci 0000:00:09.1: ===============================

            [ 1266.581699] sending NMI to all CPUs:

            [ 1266.581722] NMI backtrace for cpu 0

            [ 1266.581735] CPU: 0 PID: 1766 Comm: i2cdetect Tainted: G        W  O 3.10.17-poky-edison+ #1

            [ 1266.581739] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

            [ 1266.581747] task: f50542c0 ti: f5f22000 task.ti: f5f22000

            [ 1266.581755] EIP: 0060:[<c12213bb>] EFLAGS: 00000206 CPU: 0

            [ 1266.581768] EIP is at default_send_IPI_mask_logical+0x8b/0xd0

            [ 1266.581775] EAX: 00000000 EBX: 03000000 ECX: c1ba4660 EDX: fffff000

            [ 1266.581782] ESI: 00000206 EDI: 00000002 EBP: f5f23d44 ESP: f5f23d34

            [ 1266.581788]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068

            [ 1266.581795] CR0: 8005003b CR2: b770a010 CR3: 35ebb000 CR4: 001007f0

            [ 1266.581801] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000

            [ 1266.581805] DR6: ffff0ff0 DR7: 00000400

            [ 1266.581808] Stack:

            [ 1266.581831]  00000800 00002710 f5f23e18 f66ea024 f5f23d50 c12214d0 00002710 f5f23d60

            [ 1266.581852]  c122163c c1a9bdc9 f66ea000 f5f23d94 c1622b4a f64eb864 c1abafa0 00000000

            [ 1266.581873]  c1af245d f6c86f7c f66ea098 00000001 f5f23d9c f66ea098 00000000 c1bec5a8

            [ 1266.581876] Call Trace:

            [ 1266.581894]  [<c12214d0>] default_send_IPI_all+0x60/0x70

            [ 1266.581908]  [<c122163c>] arch_trigger_all_cpu_backtrace+0x4c/0x80

            [ 1266.581922]  [<c1622b4a>] i2c_dw_xfer+0x43a/0x5b0

            [ 1266.581940]  [<c161cd15>] __i2c_transfer+0x55/0x70

            [ 1266.581952]  [<c161dafd>] i2c_transfer+0x4d/0xc0

            [ 1266.581967]  [<c12c59a1>] ? tracing_is_on+0x11/0x30

            [ 1266.581979]  [<c161de32>] i2c_smbus_xfer+0x222/0x5d0

            [ 1266.581992]  [<c18b4a0d>] ? _raw_spin_unlock_irq+0x1d/0x40

            [ 1266.582005]  [<c126a03e>] ? finish_task_switch+0x4e/0xa0

            [ 1266.582021]  [<c12cfb90>] ? tracing_sched_wakeup_trace+0xb0/0xb0

            [ 1266.582036]  [<c18b49e7>] ? _raw_spin_unlock_irqrestore+0x47/0x50

            [ 1266.582051]  [<c126ee63>] ? try_to_wake_up+0x173/0x240

            [ 1266.582068]  [<c14c4be2>] ? _copy_from_user+0x42/0x60

            [ 1266.582081]  [<c161f968>] i2cdev_ioctl_smbus+0x148/0x280

            [ 1266.582098]  [<c1569d4d>] ? device_for_each_child+0x4d/0x70

            [ 1266.582111]  [<c161fe59>] i2cdev_ioctl+0x49/0x1e0

            [ 1266.582126]  [<c126503d>] ? __srcu_read_lock+0x6d/0x90

            [ 1266.582141]  [<c161fe10>] ? i2cdev_ioctl_rdrw.isra.7+0x210/0x210

            [ 1266.582153]  [<c132a836>] do_vfs_ioctl+0x2f6/0x540

            [ 1266.582169]  [<c146d53a>] ? inode_has_perm.isra.41.constprop.78+0x3a/0x50

            [ 1266.582184]  [<c146d5d7>] ? file_has_perm+0x87/0x90

            [ 1266.582201]  [<c146d99c>] ? selinux_file_ioctl+0x4c/0xf0

            [ 1266.582213]  [<c132aae0>] SyS_ioctl+0x60/0x80

            [ 1266.582227]  [<c18b5038>] syscall_call+0x7/0xb

            [ 1266.582352] Code: b3 ff ff 89 f8 09 d0 80 ce 04 83 ff 02 0f 44 c2 8b 15 54 4b ba c1 89 82 00 b3 ff ff f7 c6 00 02 00 00 74 14 e8 e7 f8 0a 00 56 9d <83> c4 04 5b 5e 5f 5d c3 90 8d 74 26 00 56 9d e8 d1 f4 0a 00 83

            [ 1266.582362] NMI backtrace for cpu 1

            [ 1266.582377] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W  O 3.10.17-poky-edison+ #1

            [ 1266.582382] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

            [ 1266.582390] task: f6c83d30 ti: f6e1e000 task.ti: f6e1e000

            [ 1266.582399] EIP: 0060:[<c1507eee>] EFLAGS: 00200046 CPU: 1

            [ 1266.582412] EIP is at intel_idle+0x8e/0xe0

            [ 1266.582419] EAX: 00000064 EBX: 00000080 ECX: 00000001 EDX: 00000000

            [ 1266.582425] ESI: 00000064 EDI: c1bdb560 EBP: f6e1ff30 ESP: f6e1ff18

            [ 1266.582432]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068

            [ 1266.582439] CR0: 8005003b CR2: b688f898 CR3: 01ce3000 CR4: 001007f0

            [ 1266.582445] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000

            [ 1266.582450] DR6: ffff0ff0 DR7: 00000400

            [ 1266.582452] Stack:

            [ 1266.582476]  00000007 00000004 00000001 c1bdb420 f7401200 c1bdb560 f6e1ff54 c164fa51

            [ 1266.582497]  00000004 0000524d dccccc0d 00000126 f6e1e000 c1bdb420 00000130 f6e1ff74

            [ 1266.582517]  c164fb92 c1bdb420 00000001 f7401200 f6e1e000 00000000 00000000 f6e1ff7c

            [ 1266.582521] Call Trace:

            [ 1266.582543]  [<c164fa51>] cpuidle_enter_state+0x31/0xd0

            [ 1266.582560]  [<c164fb92>] cpuidle_idle_call+0xa2/0x220

            [ 1266.582576]  [<c120821d>] arch_cpu_idle+0xd/0x30

            [ 1266.582590]  [<c1284585>] cpu_startup_entry+0x65/0x200

            [ 1266.582604]  [<c18a64c7>] start_secondary+0x230/0x235

            [ 1266.582730] Code: 8b 42 08 a8 08 75 24 31 c9 8d 42 08 89 ca 0f 01 c8 0f ae f0 89 f6 89 e0 25 00 e0 ff ff 8b 40 08 a8 08 75 07 b1 01 89 f0 0f 01 c9 <85> 1d 18 b4 bd c1 75 0d 8d 55 f0 b8 05 00 00 00 e8 cd 45 d8 ff

            [ 1266.583361] i2c-6: recovery ignore

            • 3. Re: i2c_dw_handle_tx_abort after update Edison Firmware
              MiguelAngelLV

              Um... It is so strange. If I add a polling loop that read 10000 each seconds, the i2c don't fail.

               

              It is possible that i2c go to sleep or suspend? Do i2c port has power saving mode?

              • 4. Re: i2c_dw_handle_tx_abort after update Edison Firmware
                Intel_Alvarado

                Hi,

                 

                What was the image version on the Edison that you had where this process worked and to which image you updated it to? You can check the version using configure_edison –version command.

                You did nothing else that might have led to this error, are you testing using the same expansion or breakout board?

                 

                Sergio

                • 5. Re: i2c_dw_handle_tx_abort after update Edison Firmware
                  Kerney

                  I am having this as well with the latest Edison Image. I am using the DFRobot Romeo board.

                  root@edison4:~# configure_edison --version

                  159.devkit

                  There are an enormous number of posts on this issue but nothing ever seems to be resolved.

                  People are talking about changing the circuits and pullup resistors etc. I looked at the circuit diagram for the DFRobot Romeo for Edison board and it has the pullups. I can't imagine that the board is wrong.

                  Does anybody have any insights to add to this?

                  • 6. Re: i2c_dw_handle_tx_abort after update Edison Firmware
                    Intel_Alvarado

                    Hi Kerney,

                     

                    Are you getting the same error @MiguelAngelLV? What commands and setup have you done with your Edison+Romeo board that gave you this error? Which IDE are you using? Do you have any additional hardware connected?

                     

                    Sergio

                    • 7. Re: i2c_dw_handle_tx_abort after update Edison Firmware
                      Kerney

                      I can't say it's "exactly" the same. Some of the registers and the stack trace look slightly different.

                      I'm using Arduino IDE 1.6.5.

                      I tried instructions from https://www.dfrobot.com/wiki/index.php?title=Romeo_for_Edison_Controller_SKU:_DFR0331

                      and https://www.dfrobot.com/wiki/index.php?title=Romeo_for_Edison_Controller_SKU:_DFR0350

                      as well as https://www.dfrobot.com/wiki/index.php?title=Devastator_Tank_Mobile_Platform_with_Edison_SKU:ROB0125

                      which give a link to the software at https://github.com/ouki-wang/Devastator-Tank-Mobile-Platform-with-Edison

                      all give the same results. The dmesg output below comes from the software library in the last link.

                      I cut the sketch down to a bare minimum and it gives 6 of the i2c_dw_handle_tx_abort errors.

                      The messages went away when I disconnected from the USB but it was the sketch bombing due to bug described in Run Arduino sketch on boot Workaround

                       

                      #include <DFRobot.h>

                      #include <IIC1.h>

                      DFrobotEdison MotorLeft;

                      DFrobotEdison MotorRight;

                      void setup()

                      {

                        MotorLeft.begin(M2);

                        MotorRight.begin(M1);

                        MotorLeft.move();

                        MotorRight.move();

                        MotorLeft.setSpeed(0);

                        MotorRight.setSpeed(0);

                        delay(50);

                      }

                      void loop()

                      {

                      }

                       

                      dmesg

                      [  201.030672] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  204.037474] ------------[ cut here ]------------

                      [  204.037523] WARNING: at /data/jenkins_worker/workspace/edison-weekly/linux-kernel/drivers/i2c/busses/i2c-designware-core.c

                      [  204.037539] Device: i2c-designware-pci

                      [  204.037539] controller timed out

                      [  204.037556] Modules linked in: usb_f_acm u_serial g_multi libcomposite bcm_bt_lpm bcm4334x(O)

                      [  204.037619] CPU: 0 PID: 329 Comm: sketch.elf Tainted: G           O 3.10.17-poky-edison+ #1

                      [  204.037635] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

                      [  204.037649]  c1b48db0 f542fd54 f542fd1c c18d9eea f542fd44 c12408be c1b48d8c f542fd70

                      [  204.037707]  000004d4 c16411d7 c16411d7 f5c30400 f542fe18 f5c30424 f542fd5c c1240913

                      [  204.037761]  00000009 f542fd54 c1b48d8c f542fd70 f542fd94 c16411d7 c1b48db0 000004d4

                      [  204.037816] Call Trace:

                      [  204.037853]  [<c18d9eea>] dump_stack+0x16/0x18

                      [  204.037885]  [<c12408be>] warn_slowpath_common+0x5e/0x80

                      [  204.037914]  [<c16411d7>] ? i2c_dw_xfer+0x327/0x5c0

                      [  204.037939]  [<c16411d7>] ? i2c_dw_xfer+0x327/0x5c0

                      [  204.037967]  [<c1240913>] warn_slowpath_fmt+0x33/0x40

                      [  204.037995]  [<c16411d7>] i2c_dw_xfer+0x327/0x5c0

                      [  204.038021]  [<c18e2c75>] ? sub_preempt_count+0x95/0xf0

                      [  204.038048]  [<c1275c49>] ? effective_load.isra.29+0x59/0x90

                      [  204.038075]  [<c163b235>] __i2c_transfer+0x55/0x70

                      [  204.038103]  [<c163c05d>] i2c_transfer+0x4d/0xb0

                      [  204.038131]  [<c127050b>] ? check_preempt_curr+0x4b/0x80

                      [  204.038160]  [<c12d6b80>] ? tracing_sched_wakeup_trace+0xc0/0xc0

                      [  204.038186]  [<c163c372>] i2c_smbus_xfer+0x212/0x5c0

                      [  204.038219]  [<c1337292>] ? pollwake+0x62/0x70

                      [  204.038244]  [<c1272800>] ? wake_up_state+0x20/0x20

                      [  204.038271]  [<c1270ddb>] ? get_parent_ip+0xb/0x40

                      [  204.038298]  [<c126b9d5>] ? __wake_up_common+0x45/0x70

                      [  204.038328]  [<c14da532>] ? _copy_from_user+0x42/0x70

                      [  204.038356]  [<c163e075>] i2cdev_ioctl_smbus+0x165/0x270

                      [  204.038388]  [<c163e539>] i2cdev_ioctl+0x49/0x200

                      [  204.038416]  [<c126861d>] ? __srcu_read_lock+0x6d/0xa0

                      [  204.038444]  [<c163e4f0>] ? i2cdev_ioctl_rdrw.isra.7+0x200/0x200

                      [  204.038469]  [<c1336686>] do_vfs_ioctl+0x306/0x550

                      [  204.038497]  [<c1480cba>] ? inode_has_perm.isra.32.constprop.65+0x3a/0x50

                      [  204.038522]  [<c1480d57>] ? file_has_perm+0x87/0x90

                      [  204.038551]  [<c148113b>] ? selinux_file_ioctl+0x4b/0xe0

                      [  204.038577]  [<c1336930>] SyS_ioctl+0x60/0x90

                      [  204.038606]  [<c18df928>] syscall_call+0x7/0xb

                      [  204.038627] ---[ end trace d604062686dfb2bb ]---

                      [  204.038649] i2c-designware-pci 0000:00:08.0: ===== REGISTER DUMP (i2c) =====

                      [  204.038747] i2c-designware-pci 0000:00:08.0: DW_IC_CON:               0x65

                      [  204.038827] i2c-designware-pci 0000:00:08.0: DW_IC_TAR:               0x4

                      [  204.038902] i2c-designware-pci 0000:00:08.0: DW_IC_SS_SCL_HCNT:       0x2f8

                      [  204.038979] i2c-designware-pci 0000:00:08.0: DW_IC_SS_SCL_LCNT:       0x37b

                      [  204.039055] i2c-designware-pci 0000:00:08.0: DW_IC_FS_SCL_HCNT:       0x87

                      [  204.039131] i2c-designware-pci 0000:00:08.0: DW_IC_FS_SCL_LCNT:       0x10a

                      [  204.039207] i2c-designware-pci 0000:00:08.0: DW_IC_INTR_STAT:         0x0

                      [  204.039281] i2c-designware-pci 0000:00:08.0: DW_IC_INTR_MASK:         0x246

                      [  204.039357] i2c-designware-pci 0000:00:08.0: DW_IC_RAW_INTR_STAT:     0x10

                      [  204.039432] i2c-designware-pci 0000:00:08.0: DW_IC_RX_TL:             0x20

                      [  204.039508] i2c-designware-pci 0000:00:08.0: DW_IC_TX_TL:             0x20

                      [  204.039583] i2c-designware-pci 0000:00:08.0: DW_IC_ENABLE:            0x1

                      [  204.039657] i2c-designware-pci 0000:00:08.0: DW_IC_STATUS:            0x2

                      [  204.039731] i2c-designware-pci 0000:00:08.0: DW_IC_TXFLR:             0x5

                      [  204.039806] i2c-designware-pci 0000:00:08.0: DW_IC_RXFLR:             0x0

                      [  204.039880] i2c-designware-pci 0000:00:08.0: DW_IC_TX_ABRT_SOURCE:    0x0

                      [  204.039954] i2c-designware-pci 0000:00:08.0: DW_IC_DATA_CMD:          0x0

                      [  204.040028] i2c-designware-pci 0000:00:08.0: ===============================

                      [  204.040099] sending NMI to all CPUs:

                      [  204.040123] NMI backtrace for cpu 0

                      [  204.040136] CPU: 0 PID: 329 Comm: sketch.elf Tainted: G        W  O 3.10.17-poky-edison+ #1

                      [  204.040141] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

                      [  204.040148] task: f5fbd900 ti: f542e000 task.ti: f542e000

                      [  204.040157] EIP: 0060:[<c1222352>] EFLAGS: 00000206 CPU: 0

                      [  204.040170] EIP is at default_send_IPI_mask_logical+0x92/0xe0

                      [  204.040178] EAX: 00000000 EBX: 03000000 ECX: c1bd6d00 EDX: 00000c00

                      [  204.040184] ESI: 00000206 EDI: 00000002 EBP: f542fd40 ESP: f542fd30

                      [  204.040191]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068

                      [  204.040198] CR0: 8005003b CR2: b771d000 CR3: 355d3000 CR4: 001007f0

                      [  204.040203] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000

                      [  204.040208] DR6: ffff0ff0 DR7: 00000400

                      [  204.040210] Stack:

                      [  204.040235]  00000800 00002710 f542fe18 f5c30424 f542fd4c c1222480 00002710 f542fd5c

                      [  204.040256]  c12225dc c1accc29 f5c30400 f542fd94 c164143f f64c9864 c1aebd3c 00000000

                      [  204.040277]  c1b231d9 c18e2c75 c1275c49 f5c30498 00000001 000000fd f5c30498 00000000

                      [  204.040280] Call Trace:

                      [  204.040298]  [<c1222480>] default_send_IPI_all+0x60/0x70

                      [  204.040312]  [<c12225dc>] arch_trigger_all_cpu_backtrace+0x4c/0x70

                      [  204.040327]  [<c164143f>] i2c_dw_xfer+0x58f/0x5c0

                      [  204.040339]  [<c18e2c75>] ? sub_preempt_count+0x95/0xf0

                      [  204.040352]  [<c1275c49>] ? effective_load.isra.29+0x59/0x90

                      [  204.040365]  [<c163b235>] __i2c_transfer+0x55/0x70

                      [  204.040378]  [<c163c05d>] i2c_transfer+0x4d/0xb0

                      [  204.040392]  [<c127050b>] ? check_preempt_curr+0x4b/0x80

                      [  204.040407]  [<c12d6b80>] ? tracing_sched_wakeup_trace+0xc0/0xc0

                      [  204.040420]  [<c163c372>] i2c_smbus_xfer+0x212/0x5c0

                      [  204.040437]  [<c1337292>] ? pollwake+0x62/0x70

                      [  204.040449]  [<c1272800>] ? wake_up_state+0x20/0x20

                      [  204.040462]  [<c1270ddb>] ? get_parent_ip+0xb/0x40

                      [  204.040475]  [<c126b9d5>] ? __wake_up_common+0x45/0x70

                      [  204.040490]  [<c14da532>] ? _copy_from_user+0x42/0x70

                      [  204.040504]  [<c163e075>] i2cdev_ioctl_smbus+0x165/0x270

                      [  204.040522]  [<c163e539>] i2cdev_ioctl+0x49/0x200

                      [  204.040536]  [<c126861d>] ? __srcu_read_lock+0x6d/0xa0

                      [  204.040551]  [<c163e4f0>] ? i2cdev_ioctl_rdrw.isra.7+0x200/0x200

                      [  204.040563]  [<c1336686>] do_vfs_ioctl+0x306/0x550

                      [  204.040576]  [<c1480cba>] ? inode_has_perm.isra.32.constprop.65+0x3a/0x50

                      [  204.040588]  [<c1480d57>] ? file_has_perm+0x87/0x90

                      [  204.040603]  [<c148113b>] ? selinux_file_ioctl+0x4b/0xe0

                      [  204.040615]  [<c1336930>] SyS_ioctl+0x60/0x90

                      [  204.040630]  [<c18df928>] syscall_call+0x7/0xb

                      [  204.040757] Code: 10 b3 ff ff 89 f8 09 d0 80 ce 04 83 ff 02 0f 45 d0 a1 94 72 bd c1 89 90 00 b3 ff ff f7 c6 00 02 00 00 7400 56 9d e8 39 5b 0b 00

                      [  204.040767] NMI backtrace for cpu 1

                      [  204.040782] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W  O 3.10.17-poky-edison+ #1

                      [  204.040787] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48

                      [  204.040795] task: f6c83d30 ti: f6e1e000 task.ti: f6e1e000

                      [  204.040804] EIP: 0060:[<c151f894>] EFLAGS: 00200046 CPU: 1

                      [  204.040818] EIP is at intel_idle+0x94/0xf0

                      [  204.040825] EAX: 00000064 EBX: 00000080 ECX: 00000001 EDX: 00000000

                      [  204.040832] ESI: 00000064 EDI: c1c161b0 EBP: f6e1ff20 ESP: f6e1ff0c

                      [  204.040838]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068

                      [  204.040845] CR0: 8005003b CR2: b75e1000 CR3: 01d17000 CR4: 001007f0

                      [  204.040851] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000

                      [  204.040856] DR6: ffff0ff0 DR7: 00000400

                      [  204.040858] Stack:

                      [  204.040881]  00000004 00000001 00000004 c1c16080 00000130 f6e1ff48 c166e91e 00000000

                      [  204.040903]  00032bee 76d47138 0000002f f7401500 c1d06790 c1c16080 00000130 f6e1ff6c

                      [  204.040923]  c166ea65 00000000 c1c16080 00000001 f7401500 c1d06790 00000000 f6e1e000

                      [  204.040926] Call Trace:

                      [  204.040949]  [<c166e91e>] cpuidle_enter_state+0x2e/0xd0

                      [  204.040966]  [<c166ea65>] cpuidle_idle_call+0xa5/0x220

                      [  204.040982]  [<c120865d>] arch_cpu_idle+0xd/0x30

                      [  204.040997]  [<c128903f>] cpu_startup_entry+0x6f/0x230

                      [  204.041011]  [<c18d40ab>] start_secondary+0x20c/0x217

                      [  204.041136] Code: 50 08 83 e2 08 75 39 31 d2 83 c0 08 89 d1 0f 01 c8 0f ae f0 89 f6 89 e0 25 00 e0 ff ff 8b 40 08 a8 08 7500 00 00 e8 47 1a d7 ff

                      [  204.094323] i2c-1: try to abort xfer, scl_gpio 19, sda_gpio 20

                      [  204.107652] i2c-1: scl_gpio val 1, sda_gpio val 1

                      [  204.107717] i2c-1: toggle begin

                      [  204.107762] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.107933] i2c-1: toggle SCL loop 0

                      [  204.107988] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.108153] i2c-1: toggle SCL loop 1

                      [  204.108208] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.108372] i2c-1: toggle SCL loop 2

                      [  204.108426] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.108591] i2c-1: toggle SCL loop 3

                      [  204.108644] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.108807] i2c-1: toggle SCL loop 4

                      [  204.108861] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.109023] i2c-1: toggle SCL loop 5

                      [  204.109076] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.109240] i2c-1: toggle SCL loop 6

                      [  204.109293] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.109455] i2c-1: toggle SCL loop 7

                      [  204.109508] i2c-1: scl_gpio val 0, sda_gpio val 1

                      [  204.109672] i2c-1: toggle SCL loop 8

                      [  204.109719] i2c-1: toggle end

                      [  204.133797] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.294963] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.309755] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.321883] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.331977] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.339526] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      [  222.353967] i2c-designware-pci 0000:00:08.0: i2c_dw_handle_tx_abort: lost arbitration

                      root@edison4:~#

                      • 8. Re: i2c_dw_handle_tx_abort after update Edison Firmware
                        Intel_Alvarado

                        Can you create a new thread describing your issue? Please be as complete as possible with the description of your issue and include all the details you believe might be helpful for troubleshooting. Since your issue is slightly different we’d like to treat your case separately from this one.

                         

                        Sergio