[alsa-devel] [PATCH 6/9] rate: handle negative values from snd_pcm_mmap_playback_hw_avail

Jaroslav Kysela perex at perex.cz
Tue Sep 16 19:26:57 CEST 2014


Date 16.9.2014 17:52, Alexander E. Patrakov wrote:
> 15.09.2014 16:14, Takashi Iwai wrote:
>> At Mon, 15 Sep 2014 16:03:57 +0600,
>> Alexander E. Patrakov wrote:
>>>
>>> 15.09.2014 14:49, Takashi Iwai пишет:
>>>> At Sun, 14 Sep 2014 00:30:18 +0600,
>>>> Alexander E. Patrakov wrote:
>>>>>
>>>>> Such negative returns are possible during an underrun if xrun detection
>>>>> is disabled.
>>>>>
>>>>> So, don't store the result in an unsigned variable (where it will
>>>>> overflow), and postpone the trigger in such case, too.
>>>>>
>>>>> Signed-off-by: Alexander E. Patrakov <patrakov at gmail.com>
>>>>> ---
>>>>>
>>>>> The patch is only compile-tested and the second hunk may well be wrong.
>>>>>
>>>>> There are also similar issues in pcm_share.c, but, as I don't completely
>>>>> understand the code there and cannot test that plugin at all due to
>>>>> unrelated crashes, there will be no patch from me.
>>>>
>>>> In general, hw_avail must not be negative before starting the stream.
>>>> If it is, then it means most likely the driver problem, so we should
>>>> return error immediately instead.
>>>
>>> Thanks for the review. Would -EBADFD be a correct error code, or do you
>>> want something different? or maybe even an assert?
>>
>> I'd take either EPIPE or EBADFD.
>> An assert would be an overkill, IMO.
> 
> I have sent the fix to the list, but nobody reacted. Resending as an 
> attachment to this message.

Applied now. Thanks.

                         Jaroslav

> 
> 
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


-- 
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list