Commit 09081e5b47f6842669bb645e015deedf191244f4
Committed by
Greg Kroah-Hartman
1 parent
34dcfb8479
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
tty: serial: mpc5xxx: fix PSC clock name bug
mpc512x platform clock code names PSC clocks as "pscX_mclk" but the driver tries to get "pscX_clk" clock and this results in errors like: mpc52xx-psc-uart 80011700.psc: Failed to get PSC clock entry! The problem appears when opening ttyPSC devices other than the system's serial console. Since getting and enabling the PSC clock fails, uart port startup doesn't succeed and tty flag TTY_IO_ERROR remains set causing further errors in tty ioctls, i.e. 'strace stty -F /dev/ttyPSC1' shows: open("/dev/ttyPSC1", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3 dup2(3, 0) = 0 close(3) = 0 fcntl64(0, F_GETFL) = 0x10800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) fcntl64(0, F_SETFL, O_RDONLY|O_LARGEFILE) = 0 ioctl(0, TCGETS, 0xbff89038) = -1 EIO (Input/output error) Only request PSC clock names that the platform actually provides. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff
drivers/tty/serial/mpc52xx_uart.c
... | ... | @@ -550,7 +550,7 @@ |
550 | 550 | return 0; |
551 | 551 | |
552 | 552 | psc_num = (port->mapbase & 0xf00) >> 8; |
553 | - snprintf(clk_name, sizeof(clk_name), "psc%d_clk", psc_num); | |
553 | + snprintf(clk_name, sizeof(clk_name), "psc%d_mclk", psc_num); | |
554 | 554 | psc_clk = clk_get(port->dev, clk_name); |
555 | 555 | if (IS_ERR(psc_clk)) { |
556 | 556 | dev_err(port->dev, "Failed to get PSC clock entry!\n"); |