Skip to content

Commit bc48fa1

Browse files
committed
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: Chris Chiu <[email protected]> Signed-off-by: Corey Minyard <[email protected]> Tested-by: Daniel Drake <[email protected]>
1 parent 4876234 commit bc48fa1

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

drivers/char/ipmi/ipmi_si_pci.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,24 @@ static int ipmi_pci_probe_regspacing(struct si_sm_io *io)
6262
return DEFAULT_REGSPACING;
6363
}
6464

65+
static struct pci_device_id ipmi_pci_blacklist[] = {
66+
/*
67+
* This is a "Virtual IPMI device", whatever that is. It appears
68+
* as a KCS device by the class, but it is not one.
69+
*/
70+
{ PCI_VDEVICE(REALTEK, 0x816c) },
71+
{ 0, }
72+
};
73+
6574
static int ipmi_pci_probe(struct pci_dev *pdev,
6675
const struct pci_device_id *ent)
6776
{
6877
int rv;
6978
struct si_sm_io io;
7079

80+
if (pci_match_id(ipmi_pci_blacklist, pdev))
81+
return -ENODEV;
82+
7183
memset(&io, 0, sizeof(io));
7284
io.addr_source = SI_PCI;
7385
dev_info(&pdev->dev, "probing via PCI");

0 commit comments

Comments
 (0)