diff mbox series

mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S

Message ID 20190318135106.43603-1-helgaas@kernel.org
State Accepted
Delegated to: David Miller
Headers show
Series mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S | expand

Commit Message

Bjorn Helgaas March 18, 2019, 1:51 p.m. UTC
From: Bjorn Helgaas <bhelgaas@google.com>

The device ID alone does not uniquely identify a device.  Test both the
vendor and device ID to make sure we don't mistakenly think some other
vendor's 0xB410 device is a Digium HFC4S.  Also, instead of the bare hex
ID, use the same constant (PCI_DEVICE_ID_DIGIUM_HFC4S) used in the device
ID table.

No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/isdn/hardware/mISDN/hfcmulti.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Miller March 19, 2019, 1:33 a.m. UTC | #1
From: helgaas@kernel.org
Date: Mon, 18 Mar 2019 08:51:06 -0500

> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> The device ID alone does not uniquely identify a device.  Test both the
> vendor and device ID to make sure we don't mistakenly think some other
> vendor's 0xB410 device is a Digium HFC4S.  Also, instead of the bare hex
> ID, use the same constant (PCI_DEVICE_ID_DIGIUM_HFC4S) used in the device
> ID table.
> 
> No functional change intended.
> 
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

Applied, thanks.
diff mbox series

Patch

diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c
index 4d85645c87f7..0928fd1f0e0c 100644
--- a/drivers/isdn/hardware/mISDN/hfcmulti.c
+++ b/drivers/isdn/hardware/mISDN/hfcmulti.c
@@ -4365,7 +4365,8 @@  setup_pci(struct hfc_multi *hc, struct pci_dev *pdev,
 	if (m->clock2)
 		test_and_set_bit(HFC_CHIP_CLOCK2, &hc->chip);
 
-	if (ent->device == 0xB410) {
+	if (ent->vendor == PCI_VENDOR_ID_DIGIUM &&
+	    ent->device == PCI_DEVICE_ID_DIGIUM_HFC4S) {
 		test_and_set_bit(HFC_CHIP_B410P, &hc->chip);
 		test_and_set_bit(HFC_CHIP_PCM_MASTER, &hc->chip);
 		test_and_clear_bit(HFC_CHIP_PCM_SLAVE, &hc->chip);