All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: konrad@darnok.org
Cc: Greg KH <gregkh@suse.de>,
	stable@vger.kernel.org, linux-kernel@vger.kernel.org,
	pjones@redhat.com
Subject: Re: [GIT PULL] ibft fix for 3.2-rc6
Date: Fri, 23 Dec 2011 10:24:28 -0800	[thread overview]
Message-ID: <CAE9FiQUj6-OwjfeOzWDUufTy9DhkTvbVkmQeQLCW40RsUyRuaw@mail.gmail.com> (raw)
In-Reply-To: <CAPbh3rt_Fj-OcuH1mry3aUGQa+rc-t273KtWLSiQGpN1i2FtCQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 863 bytes --]

On Thu, Dec 22, 2011 at 7:50 PM, Konrad Rzeszutek Wilk
<konrad@darnok.org> wrote:
>>
>> When legacy mode iscsi installation is used, installation program will
>> not need user install those info again.
>>
>> QA are complaining that difference.
>
> I think I understand your position. You are getting emails from QA
> testing some hardware saying it does not work with RHEL, so you try
> upstream, find the bug and fix it (awesome, thanks for doing that),
> and then you want to back-port the fix so RHEL picks it up (and can
> close the bug). Thr mechanism for that is by contacting the vendor
> about this - either using the Program Manager to open a feature
> request, or waiting for a customer to report this bug (on the Red Hat
> side) and then your fix will be magically picked up.

yes,

attached is the patch for 2.6.32 to close the loop.

Thanks

Yinghai

[-- Attachment #2: fix_ibft_checking_2.6.32.patch --]
[-- Type: text/x-patch, Size: 2060 bytes --]

[PATCH -v2.6.32] ibft: 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.

So users will need to input iscsi info during RHEL 6.x installation.

We can add checking in ibft_init for acpi.

At that time ACPI iBFT already get permanent mapped with ioremap.

For legacy one, print the found address early.


Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
 drivers/firmware/iscsi_ibft.c |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 40 insertions(+), 2 deletions(-)

Index: linux-2.6/drivers/firmware/iscsi_ibft.c
===================================================================
--- linux-2.6.orig/drivers/firmware/iscsi_ibft.c
+++ linux-2.6/drivers/firmware/iscsi_ibft.c
@@ -926,6 +926,37 @@ static int __init ibft_register_attribut
 	return rc;
 }
 
+#ifdef CONFIG_ACPI
+static const struct {
+	char *sign;
+} ibft_signs[] = {
+	/*
+	 * One spec says "IBFT", the other says "iBFT". We have to check
+	 * for both.
+	 */
+	{ ACPI_SIG_IBFT },
+	{ "iBFT" },
+};
+
+static void __init acpi_find_ibft_region(void)
+{
+	int i;
+	struct acpi_table_header *table = NULL;
+
+	if (acpi_disabled)
+		return;
+
+	for (i = 0; i < ARRAY_SIZE(ibft_signs) && !ibft_addr; i++) {
+		acpi_get_table(ibft_signs[i].sign, 0, &table);
+		ibft_addr = (struct acpi_table_ibft *)table;
+	}
+}
+#else
+static void __init acpi_find_ibft_region(void)
+{
+}
+#endif
+
 /*
  * ibft_init() - creates sysfs tree entries for the iBFT data.
  */
@@ -937,9 +968,16 @@ static int __init ibft_init(void)
 	if (!ibft_kset)
 		return -ENOMEM;
 
+	/*
+	   As on UEFI systems the setup_arch()/find_ibft_region()
+	   is called before ACPI tables are parsed and it only does
+	   legacy finding.
+	*/
+	if (!ibft_addr)
+		acpi_find_ibft_region();
+
 	if (ibft_addr) {
-		printk(KERN_INFO "iBFT detected at 0x%llx.\n",
-		       (u64)isa_virt_to_bus(ibft_addr));
+		pr_info("iBFT detected.\n");
 
 		rc = ibft_check_device();
 		if (rc)

  reply	other threads:[~2011-12-23 18:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-15 21:05 [GIT PULL] ibft fix for 3.2-rc6 Konrad Rzeszutek Wilk
2011-12-15 23:15 ` Yinghai Lu
2011-12-16  0:07   ` Greg KH
2011-12-16  0:37     ` Yinghai Lu
2011-12-17  0:40       ` Yinghai Lu
2011-12-17 14:42         ` Konrad Rzeszutek Wilk
2011-12-17 14:42           ` Konrad Rzeszutek Wilk
2011-12-23  0:45           ` Yinghai Lu
2011-12-23  3:50             ` Konrad Rzeszutek Wilk
2011-12-23 18:24               ` Yinghai Lu [this message]
2011-12-22 20:58         ` Greg KH
2011-12-22 20:58           ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAE9FiQUj6-OwjfeOzWDUufTy9DhkTvbVkmQeQLCW40RsUyRuaw@mail.gmail.com \
    --to=yinghai@kernel.org \
    --cc=gregkh@suse.de \
    --cc=konrad@darnok.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pjones@redhat.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.