Re: Nobody cared about IRQs at shutdown

From: Alexander E. Patrakov
Date: Sat Nov 27 2010 - 02:12:52 EST


26.11.2010 01:25, Alan Stern wrote:
On Thu, 25 Nov 2010, Alexander E. Patrakov wrote:

25.11.2010 21:06, Alan Stern wrote:
On Thu, 25 Nov 2010, Alexander E. Patrakov wrote:

Hello.

After switching my Gentoo desktop from sysvinit + openrc to systemd, I
started getting "nobody cared" messages about IRQs 16 and 19 (common
thing: they are assigned to the USB controllers, that's why CC:
According to your listing, they are used by uhci-hcd. Do the messages
go away if you unload uhci-hcd before shutting down?
It is not a module here, so I have to recompile the kernel in order to
try this. Will do that tomorrow.

You may need to debug the uhci-hcd driver. Look into
drivers/usb/host/uhci-hcd.c; the uhci_shutdown() routine ought to be
called and it ought to call uhci_hc_died(), which in turn calls
uhci_reset_hc() in pci-quirks.c, which is supposed to prevent the
controller from generating any IRQs.
OK, tomorrow I will add some printks there.

Sorry, I didn't add them due to being busy with a different (non-kernel) bug. What do you want to know - just the fact that these functions are called before or after reporting the bad IRQ?

Do you have any USB devices attached to bus 3 or bus 6?
Yes:

Bus 006 Device 002: ID 05d8:4002 Ultima Electronics Corp. Artec Ultima
2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner

Should I unplug it and retest the bug now?
Sure.

Tried, it didn't change anything.

Even without rebuilding the kernel, you can unbind the uhci-hcd driver
from the hardware by going to the /sys/bus/pci/drivers/uhci_hcd
directory and doing:

echo -n device-name>unbind

where "device-name" is the name of one of the symlinks in that
directory.

Thanks for the tip. Below are the updated test results, including the ones posted in my first mail, for completeness.

1. No irqpoll, no unbind: the system reports that nobody cared for IRQs, then waits, displays SATA errors, waits again, shuts down.

2. irqpoll, no unbind: the system shuts down without any delays.

3. No irqpoll, unbind uhci-hcd from everything it controls: the system reports bad IRQ 19 (consumed by firewire-ohci), waits, displays SATA errors, waits again, shuts down.

4. No irqpoll, unbind both uhci-hcd and firewire-ohci from everything: the system does not report any bad IRQs, waits, displays SATA errors, waits again, shuts down.

5. irqpoll, unbind both uhci-hcd and firewire-ohci from everything: same as (4).

I have no firewire devices.

--
Alexander E. Patrakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/