Re: Tegra 2: Spurious interrupts from UARTA (@70006000)

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

 



There seems to be an issue where if the receive interrupt is enabled when the receive queue is emptied, the interrupt status register will get updated but the actual interrupt line may not update. This can be worked around by disabling the receive interrupt in IER and then restoring the desired value to IER. In some downstream code, this is done in the IRQ handler when we detect a spurious interrupt, but presumably it could be done elsewhere as well.

David, can you try if doing that fixes the issue?

Mikko

On 15.06.2018 00:17, Dmitry Osipenko wrote:
BTW, in serial8250_config_port() there is an interesting comment:

	/* HW bugs may trigger IRQ while IIR == NO_INT */
	if (port->type == PORT_TEGRA)
		up->bugs |= UART_BUG_NOMSR;

Maybe that's what causes your trouble and the workaround isn't working
properly.


--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux