]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ibft: Fix finding IBFT ACPI table on UEFI
authorYinghai Lu <yinghai.lu@oracle.com>
Mon, 12 Dec 2011 20:39:14 +0000 (12:39 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 21 Dec 2011 20:58:35 +0000 (12:58 -0800)
commit6aa53a149539376d91688d30ede2aa6c7970d2e2
treeae18e72a2422aa4344386e2aaf657b9cb6721795
parent6b811b6a59edcf33dc695cd6edd5c5dd9096bf36
ibft: Fix finding IBFT ACPI table on UEFI

commit 935a9fee51c945b8942be2d7b4bae069167b4886 upstream.

Found one system with UEFI/iBFT, kernel does not detect the iBFT during
iscsi_ibft module loading.

Root cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier
- specifically in setup_arch() before ACPI is enabled.

Try to split acpi checking code out and call that later

At that time ACPI iBFT already get permanent mapped with ioremap.
So isa_virt_to_bus() will get wrong phys from right virt address.
We could just skip that phys address printing.

For legacy one, print the found address early.

-v2: update comments and description according to Konrad.
-v3: fix problem about module use case that is found by Konrad.
-v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/firmware/iscsi_ibft.c
drivers/firmware/iscsi_ibft_find.c