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

Takashi Iwai tiwai at suse.de
Tue Sep 16 21:18:37 CEST 2014


At Tue, 16 Sep 2014 21:52:51 +0600,
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.

I'm traveling in this week, so please don't expect reactions in light
speed.


Takashi


More information about the Alsa-devel mailing list