Smbus driver failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


We are using Linux kernel 4.8 from Windriver. We are facing the issue
with i801 smbus driver which is part of the Linux kernel. In our
system, we have connected a MUX to this smbus controller. When we
reboot the box for 300-400 times in one of the reboot we see the issue
of transaction timeout from the driver. Below are the logs which we
see


2019-11-28T02:52:04.904527-08:00  kernel: pcie_pme
0000:00:1c.0:pcie001: service driver pcie_pme loaded

2019-11-28T02:52:19.609747-08:00  kernel: i801_smbus 0000:00:1f.3:
Timeout waiting for interrupt!

2019-11-28T02:52:19.609760-08:00  kernel: i801_smbus 0000:00:1f.3:
Transaction timeout

2019-11-28T02:52:19.611932-08:00  kernel: i801_smbus 0000:00:1f.3:
Failed terminating the transaction

2019-11-28T02:52:19.611943-08:00 kernel: i801_smbus 0000:00:1f.3:
Transaction failed

2019-11-28T02:52:19.611944-08:00  kernel: i801_smbus 0000:00:1f.3:
SMBus is busy, can't use it!

2019-11-28T02:52:19.612929-08:00  kernel: i801_smbus 0000:00:1f.3:
SMBus is busy, can't use it!





When we connected the i2c analyzer we found that before we get the
above failure the response from the slave was correct. But still we
see the timeout issue.



I suspect that when the transaction gets complete the PCISTS register
3rd INTR bit will be set and this will call i801_isr, somehow in the
failure case we didn't get the interrupt or the interrupt came after
the timeout.



Does anybody else has seen this issue earlier?





lspci output:

~# lspci -vvxs 00:1f.3

00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family
SMBus Controller (rev 05)

        Subsystem: Intel Corporation 8 Series/C220 Series Chipset
Family SMBus Controller

        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-

        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Interrupt: pin C routed to IRQ 18

        NUMA node: 0

        Region 0: Memory at 183fff010000 (64-bit, non-prefetchable) [size=256]

        Region 4: I/O ports at 3000 [size=32]

        Kernel driver in use: i801_smbus

        Kernel modules: i2c_i801

00: 86 80 22 8c 03 00 80 02 05 00 05 0c 00 00 00 00

10: 04 00 01 ff 3f 18 00 00 00 00 00 00 00 00 00 00

20: 01 30 00 00 00 00 00 00 00 00 00 00 86 80 22 8c

30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 03 00 00

Thanks & Regards



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux