fastboot: make the libata port scan asynchronous
[safe/jmp/linux-2.6] / drivers / ata / ata_piix.c
index 52dc2d8..5fdf167 100644 (file)
@@ -738,7 +738,6 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
  *     do_pata_set_dmamode - Initialize host controller PATA PIO timings
  *     @ap: Port whose timings we are configuring
  *     @adev: Drive in question
- *     @udma: udma mode, 0 - 6
  *     @isich: set if the chip is an ICH device
  *
  *     Set UDMA mode for device, in host controller PCI config space.
@@ -1067,6 +1066,21 @@ static int piix_broken_suspend(void)
                if (dmi_find_device(DMI_DEV_TYPE_OEM_STRING, oemstrs[i], NULL))
                        return 1;
 
+       /* TECRA M4 sometimes forgets its identify and reports bogus
+        * DMI information.  As the bogus information is a bit
+        * generic, match as many entries as possible.  This manual
+        * matching is necessary because dmi_system_id.matches is
+        * limited to four entries.
+        */
+       if (dmi_match(DMI_SYS_VENDOR, "TOSHIBA") &&
+           dmi_match(DMI_PRODUCT_NAME, "000000") &&
+           dmi_match(DMI_PRODUCT_VERSION, "000000") &&
+           dmi_match(DMI_PRODUCT_SERIAL, "000000") &&
+           dmi_match(DMI_BOARD_VENDOR, "TOSHIBA") &&
+           dmi_match(DMI_BOARD_NAME, "Portable PC") &&
+           dmi_match(DMI_BOARD_VERSION, "Version A0"))
+               return 1;
+
        return 0;
 }