Move the memory region validation check so it happens earlier when
initializing the driver, at init time rather than config time (i.e.,
before access to hardware is required).
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
ipa->zero_virt = virt;
ipa->zero_size = IPA_MEM_MAX;
- /* Make sure all defined memory regions are valid */
- if (!ipa_mem_valid(ipa))
- goto err_dma_free;
-
/* For each region, write "canary" values in the space prior to
* the region's base address if indicated.
*/
ipa->mem_count = mem_data->local_count;
ipa->mem = mem_data->local;
+ /* Make sure all defined memory regions are valid */
+ if (!ipa_mem_valid(ipa))
+ goto err_unmap;
+
ret = ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size);
if (ret)
goto err_unmap;