> > -#ifdef CONFIG_SMP > - if ((flags & _PAGE_NO_CACHE) == 0) > + if (((flags & _PAGE_NO_CACHE) == 0) && > + (cur_cpu_spec[0]->cpu_features & CPU_FTR_NEED_COHERENT)) > flags |= _PAGE_COHERENT; > -#endif Wouldn't your patch result in _not_ setting _PAGE_COHERENT on non-broken CPUs when CONFIG_SMP is set ? Ben.