linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: minyard@acm.org
To: Chris Chiu <chiu@endlessm.com>
Cc: linux-kernel@vger.kernel.org,
	Linux Upstreaming Team <linux@endlessm.com>,
	openipmi-developer@lists.sourceforge.net,
	Corey Minyard <cminyard@mvista.com>
Subject: [PATCH] ipmi:pci: Blacklist a Realtek "IPMI" device
Date: Sun, 25 Feb 2018 20:50:06 -0600	[thread overview]
Message-ID: <1519613406-32237-1-git-send-email-minyard@acm.org> (raw)
In-Reply-To: <CAB4CAwebQRJcjP8W0vyHgr-k=rqXpLo-PCxBKB3Zu4GSonmaJw@mail.gmail.com>

From: Corey Minyard <cminyard@mvista.com>

Realtek has some sort of "Virtual" IPMI device on the PCI bus as a
KCS controller, but whatever it is, it's not one.  Ignore it if seen.

Reported-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
---

I haven't heard anything from you on this.  Here is a patch that should
blacklist that device, though I don't have a way to easily test it.
If you would prefer this, could you test it?

 drivers/char/ipmi/ipmi_si_pci.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/char/ipmi/ipmi_si_pci.c b/drivers/char/ipmi/ipmi_si_pci.c
index 27dd11c..d24990b 100644
--- a/drivers/char/ipmi/ipmi_si_pci.c
+++ b/drivers/char/ipmi/ipmi_si_pci.c
@@ -65,6 +65,15 @@ static int ipmi_pci_probe_regspacing(struct si_sm_io *io)
 	return DEFAULT_REGSPACING;
 }
 
+static struct pci_device_id ipmi_pci_blacklist[] = {
+	/*
+	 * This is a "Virtual IPMI device", whatever that is.  It appears
+	 * as a KCS device by the class, but it is not one.
+	 */
+	{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x816c) },
+	{ 0, }
+};
+
 static int ipmi_pci_probe(struct pci_dev *pdev,
 				    const struct pci_device_id *ent)
 {
@@ -72,6 +81,9 @@ static int ipmi_pci_probe(struct pci_dev *pdev,
 	int class_type = pdev->class & PCI_ERMC_CLASSCODE_TYPE_MASK;
 	struct si_sm_io io;
 
+	if (pci_match_id(ipmi_pci_blacklist, pdev))
+		return -ENODEV;
+
 	memset(&io, 0, sizeof(io));
 	io.addr_source = SI_PCI;
 	dev_info(&pdev->dev, "probing via PCI");
-- 
2.7.4

  reply	other threads:[~2018-02-26  2:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-08  3:01 ipmi_si fails to get BMC ID Chris Chiu
2018-02-08 15:53 ` Corey Minyard
2018-02-09  3:09   ` Chris Chiu
2018-02-09 13:34     ` Corey Minyard
2018-02-14  2:44       ` Chris Chiu
2018-02-14 17:17         ` Corey Minyard
2018-02-20 17:52           ` Chris Chiu
2018-02-26  2:50             ` minyard [this message]
2018-02-26 14:34               ` [PATCH] ipmi:pci: Blacklist a Realtek "IPMI" device Andy Shevchenko
2018-02-26 14:48                 ` Corey Minyard
2018-03-13  7:27               ` Daniel Drake
2018-03-13 11:59                 ` Corey Minyard
2019-01-22 16:17 ipmi_si: 90 s delay in system start with 4.14.94, but not 4.18.6 Paul Menzel
2019-01-22 20:58 ` Corey Minyard
2019-01-23 16:25   ` Paul Menzel
2019-01-23 16:27     ` [PATCH] ipmi:pci: Blacklist a Realtek "IPMI" device Paul Menzel
2019-01-23 16:32       ` 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=1519613406-32237-1-git-send-email-minyard@acm.org \
    --to=minyard@acm.org \
    --cc=chiu@endlessm.com \
    --cc=cminyard@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@endlessm.com \
    --cc=openipmi-developer@lists.sourceforge.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).