Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc48fa1b authored by Corey Minyard's avatar Corey Minyard
Browse files

ipmi:pci: Blacklist a Realtek "IPMI" device



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: default avatarChris Chiu <chiu@endlessm.com>
Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
Tested-by: default avatarDaniel Drake <drake@endlessm.com>
parent 4876234a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -62,12 +62,24 @@ 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_VDEVICE(REALTEK, 0x816c) },
	{ 0, }
};

static int ipmi_pci_probe(struct pci_dev *pdev,
				    const struct pci_device_id *ent)
{
	int rv;
	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");