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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel