Re: [PATCH v3 1/1] cxl/feature: Update out_len in set feature failure case
From: Dave Jiang
Date: Fri Apr 18 2025 - 12:38:45 EST
On 4/9/25 7:45 PM, Li Ming wrote:
> CXL subsystem supports userspace to configure features via fwctl
> interface, it will configure features by using Set Feature command.
> Whatever Set Feature succeeds or fails, CXL driver always needs to
> return a structure fwctl_rpc_cxl_out to caller, and returned size is
> updated in a out_len parameter. The out_len should be updated not only
> when the set feature succeeds, but also when the set feature fails.
>
> Fixes: eb5dfcb9e36d ("cxl: Add support to handle user feature commands for set feature")
> Signed-off-by: Li Ming <ming.li@xxxxxxxxxxxx>
> Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
Applied to cxl/fixes
> ---
> base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8 v6.15-rc1
>
> v3:
> - Add fixes tag
> v2:
> - Adjust changelog
> ---
> drivers/cxl/core/features.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/core/features.c b/drivers/cxl/core/features.c
> index fcc624cefe89..63f24f032209 100644
> --- a/drivers/cxl/core/features.c
> +++ b/drivers/cxl/core/features.c
> @@ -540,13 +540,13 @@ static void *cxlctl_set_feature(struct cxl_features_state *cxlfs,
> rc = cxl_set_feature(cxl_mbox, &feat_in->uuid,
> feat_in->version, feat_in->feat_data,
> data_size, flags, offset, &return_code);
> + *out_len = sizeof(*rpc_out);
> if (rc) {
> rpc_out->retval = return_code;
> return no_free_ptr(rpc_out);
> }
>
> rpc_out->retval = CXL_MBOX_CMD_RC_SUCCESS;
> - *out_len = sizeof(*rpc_out);
>
> return no_free_ptr(rpc_out);
> }