lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55923ED5.3070607@metafoo.de>
Date:	Tue, 30 Jun 2015 09:01:41 +0200
From:	Lars-Peter Clausen <lars@...afoo.de>
To:	Krzysztof Kozłowski <k.kozlowski.k@...il.com>,
	Vinod Koul <vinod.koul@...el.com>
CC:	gabriel@...een.is, Marek Szyprowski <m.szyprowski@...sung.com>,
	dmaengine@...r.kernel.org, Dan Williams <dan.j.williams@...el.com>,
	stable@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dmaengine: pl330: Really fix choppy sound because of
 wrong residue calculation

On 06/30/2015 06:51 AM, Krzysztof Kozłowski wrote:
> 2015-06-30 13:14 GMT+09:00 Vinod Koul <vinod.koul@...el.com>:
>> On Mon, Jun 22, 2015 at 11:14:42AM +0900, Krzysztof Kozłowski wrote:
>>> 2015-06-15 23:00 GMT+09:00 Krzysztof Kozlowski <k.kozlowski.k@...il.com>:
>>>> When pl330 driver was used during sound playback, after some time or
>>>> after a number of plays the sound became choppy or totally noisy. For
>>>> example on Odroid XU3 board the first four executions of aplay with
>>>> small WAVE worked fine, but fifth was unrecognizable with errors:
>>>>          $ aplay /usr/share/sounds/alsa/Front_Right.wava
>>>>          underrun!!! (at least 0.095 ms long)
>>>>
>>>> Issue was caused by wrong residue reported by pl330 driver to
>>>> pcm_dmaengine for its cyclic dma transfers.
>>>>
>>>> The pl330_tx_status(), residue reporting function, used a "last" flag in
>>>> a descriptor to indicate that there is no more data to send.
>>>>
>>>> The pl330_tx_submit() iterated over descriptors trying to remove this
>>>> flag from them and then mark last descriptor as "last".  However when
>>>> iterating it actually removed the flag not from descriptors but always
>>>> from last of it (and then reset it). Thus effectively once some
>>>> descriptor was marked as last, then it stayed like this forever causing
>>>> residue to be reported too low.
>>>>
>>>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@...il.com>
>>>> Fixes: aee4d1fac887 ("dmaengine: pl330: improve pl330_tx_status() function")
>>>> Cc: <stable@...r.kernel.org>
>>>> Reported-by: gabriel@...een.is
>>>> Suggested-by: Marek Szyprowski <m.szyprowski@...sung.com>
>>>
>>> Gabriel, could you give this patch a try? It helped for my Odroid XU3,
>>> which has the same audio codec. Nevertheless it would be great to hear
>>> that it solves the initial bug report.
>>
>> So is there a word on  what finally fixes this
>
> This fixes sound issue on my Odroid XU3 board, which is good. My board
> has the same audio codec and DMA driver as the board used by Gabriel
> so there is high chance that his issue is also fixed.
>
> However it is sad that I did not receive any reviews or tests from
> anyone, apparently no one cares enough about it :) .

I care, I've had it in applied to my local tree for a while now. Without it 
audio does not work.

Tested-by: Lars-Peter Clausen <lars@...afoo.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ