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]
Date:	Tue, 30 Jun 2015 16:57:51 +0900
From:	Krzysztof Kozłowski <k.kozlowski.k@...il.com>
To:	Lars-Peter Clausen <lars@...afoo.de>
Cc:	Vinod Koul <vinod.koul@...el.com>, 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

2015-06-30 16:01 GMT+09:00 Lars-Peter Clausen <lars@...afoo.de>:
> 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>

Thanks, I appreciate this!

Best regards,
Krzysztof
--
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