[PATCH 4/4] staging: greybus: audio: Ensure proper byte order

Dan Carpenter dan.carpenter at oracle.com
Mon Jan 16 10:47:00 UTC 2017


On Sat, Jan 14, 2017 at 11:17:07PM +0530, Vaibhav Agarwal wrote:
> @@ -656,13 +660,13 @@ static int gbaudio_tplg_create_enum_kctl(struct gbaudio_module_info *gb,
>  	gb_enum = &ctl->info.value.enumerated;
>  
>  	/* since count=1, and reg is dummy */
> -	gbe->max = gb_enum->items;
> +	gbe->max = le32_to_cpu(gb_enum->items);
>  	gbe->texts = gb_generate_enum_strings(gb, gb_enum);
>  
>  	/* debug enum info */
>  	dev_dbg(gb->dev, "Max:%d, name_length:%d\n", gb_enum->items,

This is printing little endian max.  Just use gbe->max here.

> -		 gb_enum->names_length);
> -	for (i = 0; i < gb_enum->items; i++)
> +		 le16_to_cpu(gb_enum->names_length));
> +	for (i = 0; i < le32_to_cpu(gb_enum->items); i++)

And here as well probably?

>  		dev_dbg(gb->dev, "src[%d]: %s\n", i, gbe->texts[i]);
>  
>  	*kctl = (struct snd_kcontrol_new)
> @@ -691,7 +695,7 @@ static int gbaudio_tplg_create_kcontrol(struct gbaudio_module_info *gb,
>  			if (!ctldata)
>  				return -ENOMEM;
>  			ctldata->ctl_id = ctl->id;
> -			ctldata->data_cport = ctl->data_cport;
> +			ctldata->data_cport = le16_to_cpu(ctl->data_cport);
>  			ctldata->access = ctl->access;
>  			ctldata->vcount = ctl->count_values;
>  			ctldata->info = &ctl->info;
> @@ -865,12 +869,12 @@ static int gbaudio_tplg_create_enum_ctl(struct gbaudio_module_info *gb,
>  	gb_enum = &ctl->info.value.enumerated;
>  
>  	/* since count=1, and reg is dummy */
> -	gbe->max = gb_enum->items;
> +	gbe->max = le32_to_cpu(gb_enum->items);
>  	gbe->texts = gb_generate_enum_strings(gb, gb_enum);
>  
>  	/* debug enum info */
>  	dev_dbg(gb->dev, "Max:%d, name_length:%d\n", gb_enum->items,

Same.

> -		 gb_enum->names_length);
> +		 le16_to_cpu(gb_enum->names_length));
>  	for (i = 0; i < gb_enum->items; i++)
                        ^^^^^^^^^^^^^^
This one needs to be converted as well, I think.

>  		dev_dbg(gb->dev, "src[%d]: %s\n", i, gbe->texts[i]);
>  

regards,
dan carpenter



More information about the devel mailing list