xen/swiotlb: For early initialization, return zero on success.

If everything is setup properly we would return -ENOMEM since
rc by default is set to that value. Lets not do that and return
a proper return code.

Note: The reason the early code needs this special treatment
is that it SWIOTLB library call does not return anything (and
had it failed it would call panic()) - but our function does.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Konrad Rzeszutek Wilk 2012-09-17 10:20:09 -04:00
parent b827760053
commit c468bdee28
1 changed files with 3 additions and 2 deletions

View File

@ -230,9 +230,10 @@ int __ref xen_swiotlb_init(int verbose, bool early)
goto error;
}
start_dma_addr = xen_virt_to_bus(xen_io_tlb_start);
if (early)
if (early) {
swiotlb_init_with_tbl(xen_io_tlb_start, xen_io_tlb_nslabs, verbose);
else
rc = 0;
} else
rc = swiotlb_late_init_with_tbl(xen_io_tlb_start, xen_io_tlb_nslabs);
return rc;
error: