serial: msm-geni: Detect error from get_clk_div_rate
In msm_serial_setbrg if the call to get_clk_div_rate fails then there will not have been an assignment to clk_div which will lead to the call to geni_serial_baud using an uninitialised value. Check for an error from get_clk_div_rate and return an error code if so. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Casey Connolly <casey.connolly@linaro.org> Link: https://lore.kernel.org/r/20250811-serial_msm_geni-v1-1-4499179491bc@linaro.org Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
This commit is contained in:
committed by
Casey Connolly
parent
23e1a11f4e
commit
f236451cb4
@@ -252,6 +252,10 @@ static int msm_serial_setbrg(struct udevice *dev, int baud)
|
||||
priv->baud = baud;
|
||||
|
||||
clk_rate = get_clk_div_rate(baud, priv->oversampling, &clk_div);
|
||||
if (!clk_rate) {
|
||||
pr_err("%s: Couldn't get clock division rate\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
ret = geni_serial_set_clock_rate(dev, clk_rate);
|
||||
if (ret < 0) {
|
||||
pr_err("%s: Couldn't set clock rate: %d\n", __func__, ret);
|
||||
|
||||
Reference in New Issue
Block a user