]> err.no Git - linux-2.6/blobdiff - arch/i386/pci/fixup.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[linux-2.6] / arch / i386 / pci / fixup.c
index 330fd2b6807574afd159e968fbf7b043c978a2af..eeb1b1f2d548bf96471ed2b947f6db3f682bcbab 100644 (file)
@@ -398,7 +398,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_video);
  */
 static u16 toshiba_line_size;
 
-static struct dmi_system_id __devinit toshiba_ohci1394_dmi_table[] = {
+static struct dmi_system_id __devinitdata toshiba_ohci1394_dmi_table[] = {
        {
                .ident = "Toshiba PS5 based laptop",
                .matches = {
@@ -433,9 +433,8 @@ static void __devinit pci_post_fixup_toshiba_ohci1394(struct pci_dev *dev)
                return; /* only applies to certain Toshibas (so far) */
 
        /* Restore config space on Toshiba laptops */
-       mdelay(10);
        pci_write_config_word(dev, PCI_CACHE_LINE_SIZE, toshiba_line_size);
-       pci_write_config_word(dev, PCI_INTERRUPT_LINE, dev->irq);
+       pci_read_config_byte(dev, PCI_INTERRUPT_LINE, (u8 *)&dev->irq);
        pci_write_config_dword(dev, PCI_BASE_ADDRESS_0,
                               pci_resource_start(dev, 0));
        pci_write_config_dword(dev, PCI_BASE_ADDRESS_1,