Re: [REGRESSION] Recent swiotlb DMA_FROM_DEVICE fixes break ath9k-based AP

Robin Murphy
2022-03-25T19:25:51Z

On 2022-03-25 18:15, Toke Høiland-Jørgensen wrote:
> Christoph Hellwig <hch@lst.de> writes:
>
>> On Thu, Mar 24, 2022 at 07:02:16PM +0100, Halil Pasic wrote:
>>>> If
>>>> ddbd89deb7d3 alone turns out to work OK then I'd be inclined to try a
>>>> partial revert of just that one hunk.
>>>>
>>>
>>> I'm not against being pragmatic and doing the partial revert. But as
>>> explained above, I do believe for correctness of swiotlb we ultimately
>>> do need that change. So if the revert is the short term solution,
>>> what should be our mid-term road-map?
>>
>> Unless I'm misunderstanding this thread we found the bug in ath9k
>> and have a fix for that now?
>
> According to Maxim's comment on the other subthread, that ath9k patch
> wouldn't work on all platforms (and constitutes a bit of a violation of
> the DMA API ownership abstraction). So not quite, I think?

Indeed, it would potentially stand to pose the same problem as the
SWIOTLB change, but on the scale of individual cache lines touched by
ath9k_hw_process_rxdesc_edma() rather than the whole buffer. However,
that might represent a less severe impact on a smaller number of users
(maybe the MIPS systems? I'm not sure...) so perhaps it's an acceptable
tourniquet? Note that the current code is already a violation of the DMA
API (because the device keeps writing even when it doesn't have
ownership), so there's not a very strong argument in that regard.

Thanks,
Robin.