[Sound-open-firmware] [PATCH v2] intel-ipc: fix host ring buffer size not page aligned issue

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Nov 16 00:21:48 CET 2017



On 11/15/2017 03:05 PM, Liam Girdwood wrote:
> On Wed, 2017-11-15 at 08:55 -0600, Pierre-Louis Bossart wrote:
>> On 11/15/17 3:41 AM, Keyon Jie wrote:
>>> The host ring buffer size may be not page aligned,
>>> but the last page was utilized by host component
>>> wrongly, which may introduce beating noise.
>>>
>>> Here change to correct size for the last element,
>>> which will fix the issue.
>>>
>>> Signed-off-by: Keyon Jie <yang.jie at linux.intel.com>
>>> ---
>>>    src/ipc/intel-ipc.c | 10 ++++++++++
>>>    1 file changed, 10 insertions(+)
>>>
>>> diff --git a/src/ipc/intel-ipc.c b/src/ipc/intel-ipc.c
>>> index 56bd8ba..7de533a 100644
>>> --- a/src/ipc/intel-ipc.c
>>> +++ b/src/ipc/intel-ipc.c
>>> @@ -175,6 +175,12 @@ static int parse_page_descriptors(struct intel_ipc_data *iipc,
>>>    		host = (struct sof_ipc_comp_host *)&cd->comp;
>>>    	}
>>>    
> It's best to comment here what you are testing prior to the if() i.e.
>
> /* is ring size a multiple of HOST_PAGE_SIZE ? */
>
>>> +	if (HOST_PAGE_SIZE * ring->pages < ring->size) {
> Btw, what happens if PAGE * pages > ring->size ? We should reject this
> too.
it's ok if the last page is not fully used, if if there is an additional 
page used beyond what's necessary then there is a problem.

>
> Liam
>
> _______________________________________________
> Sound-open-firmware mailing list
> Sound-open-firmware at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware



More information about the Sound-open-firmware mailing list