"iio_info -s" caused flood of kernel messages from musb, persistent over reboot

Started by ilario, January 26, 2024, 06:00:46 PM

Previous topic - Next topic

ilario

Dear all,
I am trying to use an EVAL-AD5370 SPI board, that is supported in the kernel by a thing called Industrial I/O (IIO).
And it worked.

Until when I installed the libiio-utils package (v0.21-2 from Debian oldstable repository) and run this command:

iio_info -s
This command gave the right output, indicating that the AD5370 was connected.
But, at the same moment, a flood of kernel messages started:

[75420.959581] musb_bus_suspend 2527: trying to suspend as a_wait_vrise while active [75420.959631] musb_bus_suspend 2527: trying to suspend as a_wait_vrise while active [75420.959681] musb_bus_suspend 2527: trying to suspend as a_wait_vrise while active
[75420.959730] musb_bus_suspend 2527: trying to suspend as a_wait_vrise while active [75420.959737] systemd-journald[6546]: /dev/kmsg buffer overrun, some messages lost.

There are approx 20k messages every second, that were stored in /var/log/kern.log and /var/log/syslog and /var/log/messages. The three files obviously took short time for filling the SD card.

The actually annoying thing, is that after powering off, unplugging and plugging back I get a similar error message also flooding the logs:

musb_bus_suspend 2527: trying to suspend as a_wait_bcon while active
The error comes from this line:

https://github.com/torvalds/linux/blob/ecb1b8288dc7ccbdcb3b9df005fa1c0e0c0388a7/drivers/usb/musb/musb_host.c#L2527

Inserting the SD card of another A64-Olinuxino (I have two of them) no such error message appeared. I compared the boot messages and did not spot anything interesting. So I suppose that there is some file on the first SD card that triggers this. But I have no idea of which.

Did anyone see anything similar?
Does anyone have any hint of what could have happened and how to undo it?

Thanks!!!

ilario

Found a partial solution:
uninstalling the libiio-utils package.
But if it gets re-installed, the problem is back.

ilario

Just posted a bug report at the libiio tracker: https://github.com/analogdevicesinc/libiio/issues/1134

I have no idea why "iio_info -S" causes this mess.

But the reason why this happens at every boot is the presence of an UDEV rule that runs it at every boot targeting some USB port (?).
It gets installed by the libiio-utils package and can be found here:
/usr/lib/udev/rules.d/90-libiio0.rulesor here:
/usr/lib/udev/rules.d/90-libiio.rules