Skip to content
  • Charles Keepax's avatar
    ALSA: compress: Add function to indicate the stream has gone bad · a4f2d87c
    Charles Keepax authored
    
    
    Currently, the avail IOCTL doesn't pass any error status, which
    means typically on error it simply shows no data available. This
    can lead to situations where user-space is waiting indefinitely
    for data that will never come as the DSP has suffered an
    unrecoverable error.
    
    Add snd_compr_stop_error which end drivers can call to indicate
    the stream has suffered an unrecoverable error and stop it. The
    avail and poll IOCTLs are then updated to report if the stream is
    in an error state to user-space. Allowing the error to propagate
    out. Processing of the actual snd_compr_stop needs to be deferred
    to a worker thread as the end driver may detect the errors during
    an existing operation callback.
    
    Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Acked-by: default avatarVinod Koul <vinod.koul@intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    a4f2d87c