On 09/22/2016 04:37 PM, Maciej S. Szmigiero wrote:
On 22.09.2016 12:45, Mark Brown wrote:
On Thu, Sep 22, 2016 at 01:33:47AM +0200, Maciej S. Szmigiero wrote:
In you patch 5/5 there is backtrace with flat cache, but I meant a backtrace with original RB tree cache code when warning about allocation being done in atomic context was generated.
I think the conclusion of this and some IRC discussion yesterday is that removing patch 5 fixes things - is that right?
There are three possible solutions:
- Go back to RB tree cache (revert patch 4) and debug the lockdep warning,
- Keep the flat cache introduced by patch 4 but debug the oops at
cache init time (while keeping defaults read from hardware), 3) Keep both patches and risk the same issues that were previously caused by hardcoded register defaults in driver. However, Marek says the device works fine for him with the patches.
It looks to me 1) is an easier and safer solution, especially that the driver previously worked fine with RB tree cache. I would test this myself but unfortunately I don't have access to hardware this week.
I believe switching to flat cache is harmless and it should be a better mode for devices with small mmio address spaces. After some discussion on IRC, I believe [1] should resolve the RBTREE crash (?).
[1] http://git.kernel.org/cgit/linux/kernel/git/broonie/regmap.git/commit/?h=for...
Maciej