[PATCH 2/2] serial: msm-geni: No need to NULL check priv

Casey Connolly casey.connolly at linaro.org
Wed Aug 13 15:17:08 CEST 2025



On 11/08/2025 19:03, Andrew Goodbody wrote:
> The NULL check for priv in qcom_geni_serial_poll_bit serves no useful
> prupose as too much other code surrounding it relies on priv being
> valid. Remove the NULL check for priv and other related code.
> 
> This issue was found by Smatch.
> 
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>

Reviewed-by: Casey Connolly <casey.connolly at linaro.org>

> ---
>  drivers/serial/serial_msm_geni.c | 30 +++++++++++++-----------------
>  1 file changed, 13 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/serial/serial_msm_geni.c b/drivers/serial/serial_msm_geni.c
> index 33016f0cb53..0eb90f82a34 100644
> --- a/drivers/serial/serial_msm_geni.c
> +++ b/drivers/serial/serial_msm_geni.c
> @@ -288,23 +288,19 @@ static bool qcom_geni_serial_poll_bit(const struct udevice *dev, int offset,
>  	unsigned int tx_fifo_depth;
>  	unsigned int tx_fifo_width;
>  	unsigned int fifo_bits;
> -	unsigned long timeout_us = 10000;
> -
> -	baud = 115200;
> -
> -	if (priv) {
> -		baud = priv->baud;
> -		if (!baud)
> -			baud = 115200;
> -		tx_fifo_depth = geni_se_get_tx_fifo_depth(priv->base);
> -		tx_fifo_width = geni_se_get_tx_fifo_width(priv->base);
> -		fifo_bits = tx_fifo_depth * tx_fifo_width;
> -		/*
> -		 * Total polling iterations based on FIFO worth of bytes to be
> -		 * sent at current baud. Add a little fluff to the wait.
> -		 */
> -		timeout_us = ((fifo_bits * USEC_PER_SEC) / baud) + 500;
> -	}
> +	unsigned long timeout_us;
> +
> +	baud = priv->baud;
> +	if (!baud)
> +		baud = 115200;
> +	tx_fifo_depth = geni_se_get_tx_fifo_depth(priv->base);
> +	tx_fifo_width = geni_se_get_tx_fifo_width(priv->base);
> +	fifo_bits = tx_fifo_depth * tx_fifo_width;
> +	/*
> +	 * Total polling iterations based on FIFO worth of bytes to be
> +	 * sent at current baud. Add a little fluff to the wait.
> +	 */
> +	timeout_us = ((fifo_bits * USEC_PER_SEC) / baud) + 500;
>  
>  	timeout_us = DIV_ROUND_UP(timeout_us, 10) * 10;
>  	while (timeout_us) {
> 

-- 
// Casey (she/her)



More information about the U-Boot mailing list