Hi, >> + if (ltq_mtd_probing) >> + adr ^= 2; >> + spin_lock_irqsave(&ebu_lock, flags); >> + temp.x[0] = *((__u16 *)(map->virt + adr)); >> + spin_unlock_irqrestore(&ebu_lock, flags); > > Hm, what does this lock gain, if the read is atomic anyway? the SoC has a hardware arbitor for the EBU. I have so far not been able to activate it properly and the lock is needed to protect from PCI and NOR i/o clashing with eachother. i know that the arbitor works when using lantiqs 2.6.28. i will provide a follow up patch once i figured how to bring up the arbitor properly. until that time we need to use the lock. thanks, John