[PATCH] drm/msm/disp: fix endian bug in debugfs code
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Mon Oct 4 23:31:12 UTC 2021
On 04/10/2021 16:47, Dan Carpenter wrote:
> The "vbif->features" is type unsigned long but the debugfs file
> is treating it as a u32 type. This will work in little endian
> systems, but the correct thing is to change the debugfs to use
> an unsigned long.
>
> Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> ---
> You might wonder why this code has so many casts. It's required because
> this data is const. Which is fine because the file is read only.
>
> drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> index 21d20373eb8b..e645a886e3c6 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> @@ -305,8 +305,8 @@ void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root)
>
> debugfs_vbif = debugfs_create_dir(vbif_name, entry);
>
> - debugfs_create_u32("features", 0600, debugfs_vbif,
> - (u32 *)&vbif->features);
> + debugfs_create_ulong("features", 0600, debugfs_vbif,
> + (unsigned long *)&vbif->features);
As you are converting this to the ulong file, could you please also
remove the now-unnecessary type cast?
>
> debugfs_create_u32("xin_halt_timeout", 0400, debugfs_vbif,
> (u32 *)&vbif->xin_halt_timeout);
>
--
With best wishes
Dmitry
More information about the dri-devel
mailing list