tty: serial: sh-sci: Fix transmit end interrupt handler
commitb43a18647fupstream. The fourth interrupt on SCI port is transmit end interrupt compared to the break interrupt on other port types. So, shuffle the interrupts to fix the transmit end interrupt handler. Fixes:e1d0be6161("sh-sci: Add h8300 SCI") Cc: stable <stable@kernel.org> Suggested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20230317150403.154094-1-biju.das.jz@bp.renesas.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
741d73fc57
commit
72a3e4fa88
1 changed files with 8 additions and 0 deletions
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/ioport.h>
|
||||
#include <linux/ktime.h>
|
||||
#include <linux/major.h>
|
||||
#include <linux/minmax.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/of.h>
|
||||
|
|
@ -2923,6 +2924,13 @@ static int sci_init_single(struct platform_device *dev,
|
|||
sci_port->irqs[i] = platform_get_irq(dev, i);
|
||||
}
|
||||
|
||||
/*
|
||||
* The fourth interrupt on SCI port is transmit end interrupt, so
|
||||
* shuffle the interrupts.
|
||||
*/
|
||||
if (p->type == PORT_SCI)
|
||||
swap(sci_port->irqs[SCIx_BRI_IRQ], sci_port->irqs[SCIx_TEI_IRQ]);
|
||||
|
||||
/* The SCI generates several interrupts. They can be muxed together or
|
||||
* connected to different interrupt lines. In the muxed case only one
|
||||
* interrupt resource is specified as there is only one interrupt ID.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue