mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 00:51:44 +00:00
4be518d838
Most platforms allocate IOMMU table structures (specifically it_map) at the boot time and when this fails - it is a valid reason for panic(). However the powernv platform allocates it_map after a device is returned to the host OS after being passed through and this happens long after the host OS booted. It is quite possible to trigger the it_map allocation panic() and kill the host even though it is not necessary - the host OS can still use the DMA bypass mode (requires a tiny fraction of it_map's memory) and even if that fails, the host OS is runnnable as it was without the device for which allocating it_map causes the panic. Instead of immediately crashing in a powernv/ioda2 system, this prints an error and continues. All other platforms still call panic(). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Leonardo Bras <leobras.c@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210216033307.69863-3-aik@ozlabs.ru |
||
---|---|---|
.. | ||
dma_lib.c | ||
gpio_mdio.c | ||
idle.c | ||
iommu.c | ||
Kconfig | ||
Makefile | ||
misc.c | ||
msi.c | ||
pasemi.h | ||
pci.c | ||
powersave.S | ||
setup.c | ||
time.c |