ACK: [PATCH 1/1][SRU][OEM-OSP1-B][B][E][F] UBUNTU: SAUCE: platform/x86: dell-uart-backlight: move retry block

Kleber Souza kleber.souza at canonical.com
Tue Feb 25 15:20:08 UTC 2020


On 20.02.20 02:20, AceLan Kao wrote:
> BugLink: https://bugs.launchpad.net/bugs/1863880
> 
> move the retry block to include not only read reply, but also write
> function, so that the retry re-send the command, too.
> 
> Signed-off-by: AceLan Kao <acelan.kao at canonical.com>

Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>

> ---
>  drivers/platform/x86/dell-uart-backlight.c | 23 +++++++++++-----------
>  1 file changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/platform/x86/dell-uart-backlight.c b/drivers/platform/x86/dell-uart-backlight.c
> index bddc4f228bf9..9b2b219f3b8f 100644
> --- a/drivers/platform/x86/dell-uart-backlight.c
> +++ b/drivers/platform/x86/dell-uart-backlight.c
> @@ -320,23 +320,22 @@ static int dell_uart_get_scalar_status(struct dell_uart_backlight *dell_pdata)
>  	int rx_len;
>  	int status = 0, retry = 50;
>  
> -	dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len);
> +	do {
> +		dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len);
>  
> -	if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) {
> -		pr_debug("Failed to get mutex_lock");
> -		return 0;
> -	}
> +		if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) {
> +			pr_debug("Failed to get mutex_lock");
> +			return 0;
> +		}
>  
> -	dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len);
> -	do {
> +		dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len);
> +		msleep(100);
>  		rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len);
> -		if (rx_len == 0)
> -			msleep(100);
> -	} while (rx_len == 0 && --retry);
>  
> -	mutex_unlock(&dell_pdata->brightness_mutex);
> +		mutex_unlock(&dell_pdata->brightness_mutex);
>  
> -	dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len);
> +		dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len);
> +	} while (rx_len == 0 && --retry);
>  
>  	if (rx_len == 4)
>  		status = (unsigned int)bl_cmd->ret[2];
> 




More information about the kernel-team mailing list