[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250625031409.2404219-1-opensource@ruijie.com.cn>
Date: Tue, 24 Jun 2025 22:14:09 -0500
From: micas-opensource <zjianan156@...il.com>
To: andy@...nel.org,
gregkh@...uxfoundation.org,
jirislaby@...nel.org
Cc: linux-kernel@...r.kernel.org,
linux-serial@...r.kernel.org,
Philo Shao <philo@...asnetworks.com>
Subject: tty/8250: Deactivate the HSUART DMA for the DNV CPU
From: Philo Shao <philo@...asnetworks.com>
Intel DNV CPU reports an error, indicating that there is a possibility of abnormal serial port functionality and the CPU may hang.
The HSUART DMA will be deactivated for the DNV CPU.
Signed-off-by: Philo Shao<philo@...asnetworks.com>
---
drivers/tty/serial/8250/8250_mid.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_mid.c b/drivers/tty/serial/8250/8250_mid.c
index 2cc78a4bf..e4a5d6358 100644
--- a/drivers/tty/serial/8250/8250_mid.c
+++ b/drivers/tty/serial/8250/8250_mid.c
@@ -321,13 +321,17 @@ static int mid8250_probe(struct pci_dev *pdev, const struct pci_device_id *id)
if (!uart.port.membase)
return -ENOMEM;
- ret = mid->board->setup(mid, &uart.port);
- if (ret)
- return ret;
-
- ret = mid8250_dma_setup(mid, &uart);
- if (ret)
- goto err;
+ if (id->device != PCI_DEVICE_ID_INTEL_DNV_UART) {
+ ret = mid->board->setup(mid, &uart.port);
+ if (ret)
+ return ret;
+
+ ret = mid8250_dma_setup(mid, &uart);
+ if (ret)
+ goto err;
+ } else {
+ uart.port.handle_irq = dnv_handle_irq;
+ }
ret = serial8250_register_8250_port(&uart);
if (ret < 0)
--
2.25.1
Powered by blists - more mailing lists