mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +00:00
serial: only use PNP IRQ if it's valid
"Luming Yu" <luming.yu@gmail.com> says: There is a "ttyS1 irq is -1" problem observed on tiger4 which cause the serial port broken. It is because that there is __no__ ACPI IRQ resource assigned for the serial port. So the value of the IRQ for the port is never changed since it got initialized to -1. If PNP supplies a valid IRQ, use it. Otherwise, leave port.irq == 0, which means "no IRQ" to the serial core. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Yu Luming <luming.yu@intel.com> Acked-by: Matthew Wilcox <matthew@wil.cx> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
57510c2f93
commit
e02f5f52ca
1 changed files with 2 additions and 1 deletions
|
@ -439,7 +439,8 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
|
|||
}
|
||||
|
||||
memset(&port, 0, sizeof(struct uart_port));
|
||||
port.irq = pnp_irq(dev, 0);
|
||||
if (pnp_irq_valid(dev, 0))
|
||||
port.irq = pnp_irq(dev, 0);
|
||||
if (pnp_port_valid(dev, 0)) {
|
||||
port.iobase = pnp_port_start(dev, 0);
|
||||
port.iotype = UPIO_PORT;
|
||||
|
|
Loading…
Reference in a new issue