> +void __cpa_flush_array(void *data)
>  {
> -     unsigned int i, level;
> +     struct cpa_data *cpa = data;
> +     unsigned int i;
>  
> -     if (__cpa_flush_range(baddr, numpages, cache))
> +     for (i = 0; i < cpa->numpages; i++)
> +             __flush_tlb_one_kernel(__cpa_addr(cpa, i));
> +}

While I guess it won't _hurt_ anything, we do have cases where
__cpa_addr() can return 0.  So, won't this be flushing virtual address
0x0 unnecessarily for those?

Reply via email to