[alsa-devel] [PATCH] ASoC: tegra: Use flat regcache.
Lars-Peter Clausen
lars at metafoo.de
Tue Mar 18 11:39:30 CET 2014
On 03/18/2014 11:33 AM, Takashi Iwai wrote:
> At Tue, 18 Mar 2014 10:28:58 +0000,
> Mark Brown wrote:
>>
>> On Tue, Mar 18, 2014 at 07:46:09AM +0100, Takashi Iwai wrote:
>>
>>> kmemdup() with GFP_KERNEL in the lock context. Ditto in
>>> regmap_register_patch(), which calls krealloc() with GFP_KERNEL.
>>
>> So send a patch...
>
> Yeah, yeah, don't rush :)
>
>>> The former could be fixed by moving the lock like below. The fix for
>>> the latter depends on whether we need to protect map->patch_regs
>>> growth from races or not. If not, krealloc() can be moved out of the
>>> lock.
>>
>> It should only be happening on init so probably not. On the other hand
>> doing it without any sort of locking isn't great.
>
> Right. OTOH, it's still better than papering over with GFP_ATOMIC, I
> think. We can just give a proper note in the function description,
> for example.
We should still hold the log over the _regmap_write portion of
regmap_register_patch(), but I think we should otherwise be fine if we make
it a API requirement that the caller needs to make sure that
regmap_register_patch() is not called concurrently to itself or to
regcache_sync().
- Lars
More information about the Alsa-devel
mailing list