RE: [PATCH v2] wifi: rtw89: debug: fix error code in rtw89_debug_priv_send_h2c_set()

From: Ping-Ke Shih
Date: Tue Jul 04 2023 - 20:17:23 EST




> -----Original Message-----
> From: Zhang Shurong <zhang_shurong@xxxxxxxxxxx>
> Sent: Wednesday, July 5, 2023 12:55 AM
> To: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
> Cc: kvalo@xxxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Zhang Shurong
> <zhang_shurong@xxxxxxxxxxx>
> Subject: [PATCH v2] wifi: rtw89: debug: fix error code in rtw89_debug_priv_send_h2c_set()
>
> If there is a failure during rtw89_fw_h2c_raw() rtw89_debug_priv_send_h2c
> should return negative error code instead of a positive value count.
>
> Fix this bug by returning correct error code.
>
> The changes in this version:
> - fix some compile error

As Larry mentioned, this should be added after delimiter '---'.

>
> Signed-off-by: Zhang Shurong <zhang_shurong@xxxxxxxxxxx>
>
> update

Also, remove this 'update'.

> ---
> drivers/net/wireless/realtek/rtw89/debug.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c
> index 1db2d59d33ff..a679f79b85ec 100644
> --- a/drivers/net/wireless/realtek/rtw89/debug.c
> +++ b/drivers/net/wireless/realtek/rtw89/debug.c
> @@ -3026,17 +3026,18 @@ static ssize_t rtw89_debug_priv_send_h2c_set(struct file *filp,
> struct rtw89_debugfs_priv *debugfs_priv = filp->private_data;
> struct rtw89_dev *rtwdev = debugfs_priv->rtwdev;

Move 'int err = 0' here in reverse X'mas tree order, and use 'int ret = 0' instead,
so people don't need to guess if there is special meaning of 'err', which is just
a regular error code.

> u8 *h2c;
> + int err = 0;
> u16 h2c_len = count / 2;
>
> h2c = rtw89_hex2bin_user(rtwdev, user_buf, count);
> if (IS_ERR(h2c))
> return -EFAULT;
>
> - rtw89_fw_h2c_raw(rtwdev, h2c, h2c_len);
> + err = rtw89_fw_h2c_raw(rtwdev, h2c, h2c_len);
>
> kfree(h2c);
>
> - return count;
> + return err ? err : count;
> }
>
> static int
> --
> 2.41.0