The WARN_ON triggers with current mainline. Is there any fixlet in
Linus tree missing ?
That does not make sense to me. If the memory_ro patch is providing
_real_ protection then you _must_ run into an access violation. If not,
then the patch just papers over the real problem in some mysterious
way.
The patch does:
+ set_memory_rw((unsigned long)hw->flash_address,
+ hw->flash_len >> PAGE_SHIFT);
writew(val, hw->flash_address + reg);
+ set_memory_ro((unsigned long)hw->flash_address,
+ hw->flash_len >> PAGE_SHIFT);
This changes massively the timing of the flash access. Could this be
the problem on the machine which needs the set_memory_ro patch to
survive ?
Well, why should you get a hardware breakpoint when the _ro protection
does not trigger in the first place ?
Granted there could be a _rw alias mapping, but then the problem must
be still visible with the _ro patch applied.
Thanks,
tglx
--