Pārlūkot izejas kodu

USB: isp1760: use a specific PLX bridge instead of any bdridge

this driver can't handle (of course) any brdige class devices. So we
now are just active on one specific bridge which should be only the
isp1761 chip behind a PLX bridge.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Karl Bongers <kblists08@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sebastian Andrzej Siewior 17 gadi atpakaļ
vecāks
revīzija
6c0735687d
1 mainītis faili ar 10 papildinājumiem un 6 dzēšanām
  1. 10 6
      drivers/usb/host/isp1760-if.c

+ 10 - 6
drivers/usb/host/isp1760-if.c

@@ -268,12 +268,16 @@ static void isp1761_pci_shutdown(struct pci_dev *dev)
 	printk(KERN_ERR "ips1761_pci_shutdown\n");
 	printk(KERN_ERR "ips1761_pci_shutdown\n");
 }
 }
 
 
-static const struct pci_device_id isp1760_plx [] = { {
-	/* handle any USB 2.0 EHCI controller */
-	PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_OTHER << 8) | (0x06 << 16)), ~0),
-		.driver_data = 0,
-},
-{ /* end: all zeroes */ }
+static const struct pci_device_id isp1760_plx [] = {
+	{
+		.class          = PCI_CLASS_BRIDGE_OTHER << 8,
+		.class_mask     = ~0,
+		.vendor		= PCI_VENDOR_ID_PLX,
+		.device		= 0x5406,
+		.subvendor	= PCI_VENDOR_ID_PLX,
+		.subdevice	= 0x9054,
+	},
+	{ }
 };
 };
 MODULE_DEVICE_TABLE(pci, isp1760_plx);
 MODULE_DEVICE_TABLE(pci, isp1760_plx);