parport: parport_pc: fix id print of a device
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 4 Dec 2013 20:08:55 +0000 (21:08 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Dec 2013 07:04:38 +0000 (23:04 -0800)
Since commit 7106b4e3 ("8250: Oxford Semiconductor Devices") the debug
print of the device id does no longer match the real device if it is
located in the "enum" behind oxsemi_pcie_pport. The reason is that the
code assumes that each id contains one entry in the PCI table.
The fix is to lookup the currently used id from the id-> parameter.

Cc: Lee Howard <lee.howard@mainpine.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parport/parport_pc.c

index 9637615..4b03dc5 100644 (file)
@@ -2827,16 +2827,12 @@ static int parport_pc_pci_probe(struct pci_dev *dev,
                if (irq == IRQ_NONE) {
                        printk(KERN_DEBUG
        "PCI parallel port detected: %04x:%04x, I/O at %#lx(%#lx)\n",
-                               parport_pc_pci_tbl[i + last_sio].vendor,
-                               parport_pc_pci_tbl[i + last_sio].device,
-                               io_lo, io_hi);
+                               id->vendor, id->device, io_lo, io_hi);
                        irq = PARPORT_IRQ_NONE;
                } else {
                        printk(KERN_DEBUG
        "PCI parallel port detected: %04x:%04x, I/O at %#lx(%#lx), IRQ %d\n",
-                               parport_pc_pci_tbl[i + last_sio].vendor,
-                               parport_pc_pci_tbl[i + last_sio].device,
-                               io_lo, io_hi, irq);
+                               id->vendor, id->device, io_lo, io_hi, irq);
                }
                data->ports[count] =
                        parport_pc_probe_port(io_lo, io_hi, irq,