Re: [PATCH] ASoC: SOF: ipc4-control: Return on error in sof_ipc4_widget_kcontrol_setup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 21/03/2023 16:16, Dan Carpenter wrote:
> On Tue, Mar 21, 2023 at 03:49:19PM +0200, Peter Ujfalusi wrote:
>> The patch adding the bytes control support moved the error check outside
>> of the list_for_each_entry() which will cause issues when we will have
>> support for multiple controls per widgets.
> 
> Even now it causes an issue.  We're exiting the list_for_each_entry()
> without hitting a break statement so the scontrol points to somewhere
> in the middle of the sdev instead of to a valid scontrol entry.
> 
> The scontrol->comp_id will be some garbage value.

I'm not sure what you see
ret = 0;
list_for_each_entry(scontrol, &sdev->kcontrol_list, list) {
	if (scontrol->comp_id == swidget->comp_id) {
		switch (scontrol->info_type) {
		...
		}

		if (ret < 0) {
			/* scontrol is still valid and not changed */
			dev_err();
			return ret;
		}
	}
}

I think this is correct, I could have the ret check one level up, but no
point  of doing it if scontrol->comp_id != swidget->comp_id

-- 
Péter



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux