Pass the return value from clk_get_rate() instead of changing it to
-EINVAL. These return values are either ignored or logged, so it should
make debugging easier in the cases where it is logged.

Reviewed-by: Julien Stephan <[email protected]>
Signed-off-by: David Lechner <[email protected]>
---
 drivers/serial/serial_mtk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/serial/serial_mtk.c b/drivers/serial/serial_mtk.c
index 0f1d3b63f23..3ddac510c21 100644
--- a/drivers/serial/serial_mtk.c
+++ b/drivers/serial/serial_mtk.c
@@ -218,7 +218,7 @@ static int mtk_serial_setbrg(struct udevice *dev, int 
baudrate)
        if (clk_is_valid(&priv->clk)) {
                clk_rate = clk_get_rate(&priv->clk);
                if (IS_ERR_VALUE(clk_rate) || clk_rate == 0)
-                       return -EINVAL;
+                       return (int)clk_rate ?: -EINVAL;
        } else {
                clk_rate = priv->fixed_clk_rate;
        }
@@ -290,7 +290,7 @@ static int mtk_serial_of_to_plat(struct udevice *dev)
                clk_rate = clk_get_rate(&priv->clk);
                if (IS_ERR_VALUE(clk_rate)) {
                        dev_err(dev, "invalid baud clock\n");
-                       return -EINVAL;
+                       return (int)clk_rate;
                }
        }
 

-- 
2.43.0

Reply via email to