[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aSbNLLiqg0kgALTv@kuha>
Date: Wed, 26 Nov 2025 11:49:32 +0200
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Duoming Zhou <duoming@....edu.cn>
Cc: linux-usb@...r.kernel.org, gregkh@...uxfoundation.org,
mitltlatltl@...il.com, linux-kernel@...r.kernel.org,
sergei.shtylyov@...il.com, stable@...r.kernel.org
Subject: Re: [PATCH v2 1/2] usb: typec: ucsi: fix probe failure in
gaokun_ucsi_probe()
Tue, Nov 25, 2025 at 06:36:26PM +0800, Duoming Zhou kirjoitti:
> The gaokun_ucsi_probe() uses ucsi_create() to allocate a UCSI instance.
> The ucsi_create() validates whether ops->poll_cci is defined, and if not,
> it directly returns -EINVAL. However, the gaokun_ucsi_ops structure does
> not define the poll_cci, causing ucsi_create() always fail with -EINVAL.
> This issue can be observed in the kernel log with the following error:
>
> ucsi_huawei_gaokun.ucsi huawei_gaokun_ec.ucsi.0: probe with driver
> ucsi_huawei_gaokun.ucsi failed with error -22
>
> Fix the issue by adding the missing poll_cci callback to gaokun_ucsi_ops.
>
> Fixes: 00327d7f2c8c ("usb: typec: ucsi: add Huawei Matebook E Go ucsi driver")
> Cc: stable@...r.kernel.org
> Signed-off-by: Duoming Zhou <duoming@....edu.cn>
Reviewed-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> ---
> Changes in v2:
> - Add cc: stable.
> - Correct spelling mistake.
>
> drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c b/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
> index 7b5222081bb..8401ab414bd 100644
> --- a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
> +++ b/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
> @@ -196,6 +196,7 @@ static void gaokun_ucsi_connector_status(struct ucsi_connector *con)
> const struct ucsi_operations gaokun_ucsi_ops = {
> .read_version = gaokun_ucsi_read_version,
> .read_cci = gaokun_ucsi_read_cci,
> + .poll_cci = gaokun_ucsi_read_cci,
> .read_message_in = gaokun_ucsi_read_message_in,
> .sync_control = ucsi_sync_control_common,
> .async_control = gaokun_ucsi_async_control,
> --
> 2.34.1
--
heikki
Powered by blists - more mailing lists