Community
cancel
Showing results for 
Search instead for 
Did you mean: 
MLópe2
New Contributor I
2,153 Views

i2c_dw_handle_tx_abort after update Edison Firmware

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

12 Replies
Sergio_A_Intel
Employee
147 Views

Hi,

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

Sergio

MLópe2
New Contributor I
147 Views

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] [] dump_stack+0x16/0x18

[ 1266.579558] [] warn_slowpath_common+0x5e/0x80

[ 1266.579586] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579611] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579639] [] warn_slowpath_fmt+0x33/0x40

[ 1266.579666] [] i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579700] [] __i2c_transfer+0x55/0x70

[ 1266.579727] [] i2c_transfer+0x4d/0xc0

[ 1266.579756] [] ? tracing_is_on+0x11/0x30

[ 1266.579781] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.579807] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.579835] [] ? finish_task_switch+0x4e/0xa0

[ 1266.579864] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.579894] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.579923] [] ? try_to_wake_up+0x173/0x240

[ 1266.579956] [] ? _copy_from_user+0x42/0x60

[ 1266.579982] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.580016] [] ? device_for_each_child+0x4d/0x70

[ 1266.580043] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.580073] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.580127] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.580187] [] ? file_has_perm+0x87/0x90

[ 1266.580218] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.580244] [] SyS_ioctl+0x60/0x80

[ 1266.580272] [] 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:[] 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] [] default_send_IPI_all+0x60/0x70

[ 1266.581908] [] arch_trigger_all_cpu_backtrace+0x4c/0x80

[ 1266.581922] [] i2c_dw_xfer+0x43a/0x5b0

[ 1266.581940] [] __i2c_transfer+0x55/0x70

[ 1266.581952] [] i2c_transfer+0x4d/0xc0

[ 1266.581967] [] ? tracing_is_on+0x11/0x30

[ 1266.581979] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.581992] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.582005] [] ? finish_task_switch+0x4e/0xa0

[ 1266.582021] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.582036] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.582051] [] ? try_to_wake_up+0x173/0x240

[ 1266.582068] [] ? _copy_from_user+0x42/0x60

[ 1266.582081] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.582098] [] ? device_for_each_child+0x4d/0x70

[ 1266.582111] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.582126] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.582153] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.582184] [] ? file_has_perm+0x87/0x90

[ 1266.582201] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.582213] [] SyS_ioctl+0x60/0x80

[ 1266.582227] [] syscall_call+0x7/0xb

[ 126...

MLópe2
New Contributor I
147 Views

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] [] dump_stack+0x16/0x18

[ 1266.579558] [] warn_slowpath_common+0x5e/0x80

[ 1266.579586] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579611] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579639] [] warn_slowpath_fmt+0x33/0x40

[ 1266.579666] [] i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579700] [] __i2c_transfer+0x55/0x70

[ 1266.579727] [] i2c_transfer+0x4d/0xc0

[ 1266.579756] [] ? tracing_is_on+0x11/0x30

[ 1266.579781] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.579807] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.579835] [] ? finish_task_switch+0x4e/0xa0

[ 1266.579864] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.579894] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.579923] [] ? try_to_wake_up+0x173/0x240

[ 1266.579956] [] ? _copy_from_user+0x42/0x60

[ 1266.579982] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.580016] [] ? device_for_each_child+0x4d/0x70

[ 1266.580043] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.580073] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.580127] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.580187] [] ? file_has_perm+0x87/0x90

[ 1266.580218] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.580244] [] SyS_ioctl+0x60/0x80

[ 1266.580272] [] 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:[] 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] [] default_send_IPI_all+0x60/0x70

[ 1266.581908] [] arch_trigger_all_cpu_backtrace+0x4c/0x80

[ 1266.581922] [] i2c_dw_xfer+0x43a/0x5b0

[ 1266.581940] [] __i2c_transfer+0x55/0x70

[ 1266.581952] [] i2c_transfer+0x4d/0xc0

[ 1266.581967] [] ? tracing_is_on+0x11/0x30

[ 1266.581979] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.581992] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.582005] [] ? finish_task_switch+0x4e/0xa0

[ 1266.582021] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.582036] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.582051] [] ? try_to_wake_up+0x173/0x240

[ 1266.582068] [] ? _copy_from_user+0x42/0x60

[ 1266.582081] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.582098] [] ? device_for_each_child+0x4d/0x70

[ 1266.582111] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.582126] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.582153] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.582184] [] ? file_has_perm+0x87/0x90

[ 1266.582201] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.582213] [] SyS_ioctl+0x60/0x80

[ 1266.582227] [] syscall_call+0x7/0xb

[ 126...

Sergio_A_Intel
Employee
147 Views

Hi,

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

Sergio

MLópe2
New Contributor I
147 Views

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] [] dump_stack+0x16/0x18

[ 1266.579558] [] warn_slowpath_common+0x5e/0x80

[ 1266.579586] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579611] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579639] [] warn_slowpath_fmt+0x33/0x40

[ 1266.579666] [] i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579700] [] __i2c_transfer+0x55/0x70

[ 1266.579727] [] i2c_transfer+0x4d/0xc0

[ 1266.579756] [] ? tracing_is_on+0x11/0x30

[ 1266.579781] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.579807] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.579835] [] ? finish_task_switch+0x4e/0xa0

[ 1266.579864] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.579894] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.579923] [] ? try_to_wake_up+0x173/0x240

[ 1266.579956] [] ? _copy_from_user+0x42/0x60

[ 1266.579982] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.580016] [] ? device_for_each_child+0x4d/0x70

[ 1266.580043] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.580073] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.580127] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.580187] [] ? file_has_perm+0x87/0x90

[ 1266.580218] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.580244] [] SyS_ioctl+0x60/0x80

[ 1266.580272] [] 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:[] 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] [] default_send_IPI_all+0x60/0x70

[ 1266.581908] [] arch_trigger_all_cpu_backtrace+0x4c/0x80

[ 1266.581922] [] i2c_dw_xfer+0x43a/0x5b0

[ 1266.581940] [] __i2c_transfer+0x55/0x70

[ 1266.581952] [] i2c_transfer+0x4d/0xc0

[ 1266.581967] [] ? tracing_is_on+0x11/0x30

[ 1266.581979] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.581992] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.582005] [] ? finish_task_switch+0x4e/0xa0

[ 1266.582021] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.582036] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.582051] [] ? try_to_wake_up+0x173/0x240

[ 1266.582068] [] ? _copy_from_user+0x42/0x60

[ 1266.582081] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.582098] [] ? device_for_each_child+0x4d/0x70

[ 1266.582111] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.582126] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.582153] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.582184] [] ? file_has_perm+0x87/0x90

[ 1266.582201] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.582213] [] SyS_ioctl+0x60/0x80

[ 1266.582227] [] syscall_call+0x7/0xb

[ 126...

MLópe2
New Contributor I
147 Views

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] [] dump_stack+0x16/0x18

[ 1266.579558] [] warn_slowpath_common+0x5e/0x80

[ 1266.579586] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579611] [] ? i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579639] [] warn_slowpath_fmt+0x33/0x40

[ 1266.579666] [] i2c_dw_xfer+0x1d2/0x5b0

[ 1266.579700] [] __i2c_transfer+0x55/0x70

[ 1266.579727] [] i2c_transfer+0x4d/0xc0

[ 1266.579756] [] ? tracing_is_on+0x11/0x30

[ 1266.579781] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.579807] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.579835] [] ? finish_task_switch+0x4e/0xa0

[ 1266.579864] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.579894] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.579923] [] ? try_to_wake_up+0x173/0x240

[ 1266.579956] [] ? _copy_from_user+0x42/0x60

[ 1266.579982] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.580016] [] ? device_for_each_child+0x4d/0x70

[ 1266.580043] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.580073] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.580127] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.580187] [] ? file_has_perm+0x87/0x90

[ 1266.580218] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.580244] [] SyS_ioctl+0x60/0x80

[ 1266.580272] [] 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:[] 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] [] default_send_IPI_all+0x60/0x70

[ 1266.581908] [] arch_trigger_all_cpu_backtrace+0x4c/0x80

[ 1266.581922] [] i2c_dw_xfer+0x43a/0x5b0

[ 1266.581940] [] __i2c_transfer+0x55/0x70

[ 1266.581952] [] i2c_transfer+0x4d/0xc0

[ 1266.581967] [] ? tracing_is_on+0x11/0x30

[ 1266.581979] [] i2c_smbus_xfer+0x222/0x5d0

[ 1266.581992] [] ? _raw_spin_unlock_irq+0x1d/0x40

[ 1266.582005] [] ? finish_task_switch+0x4e/0xa0

[ 1266.582021] [] ? tracing_sched_wakeup_trace+0xb0/0xb0

[ 1266.582036] [] ? _raw_spin_unlock_irqrestore+0x47/0x50

[ 1266.582051] [] ? try_to_wake_up+0x173/0x240

[ 1266.582068] [] ? _copy_from_user+0x42/0x60

[ 1266.582081] [] i2cdev_ioctl_smbus+0x148/0x280

[ 1266.582098] [] ? device_for_each_child+0x4d/0x70

[ 1266.582111] [] i2cdev_ioctl+0x49/0x1e0

[ 1266.582126] [] ? __srcu_read_lock+0x6d/0x90

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

[ 1266.582153] [] do_vfs_ioctl+0x2f6/0x540

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

[ 1266.582184] [] ? file_has_perm+0x87/0x90

[ 1266.582201] [] ? selinux_file_ioctl+0x4c/0xf0

[ 1266.582213] [] SyS_ioctl+0x60/0x80

[ 1266.582227] [] syscall_call+0x7/0xb

[ 126...

Peter_K_Intel
Employee
147 Views

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?

Sergio_A_Intel
Employee
147 Views

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

Sergio_A_Intel
Employee
147 Views

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

Peter_K_Intel
Employee
147 Views

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?

Sergio_A_Intel
Employee
147 Views

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

Sergio_A_Intel
Employee
147 Views

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

Reply