diff -uprN linux-2.6.23.orig/drivers/ata/pata_artop.c linux-2.6.23/drivers/ata/pata_artop.c --- linux-2.6.23.orig/drivers/ata/pata_artop.c 2007-10-09 15:31:38.000000000 -0500 +++ linux-2.6.23/drivers/ata/pata_artop.c 2007-10-11 00:59:14.000000000 -0500 @@ -27,6 +27,7 @@ #include #include #include +#include #define DRV_NAME "pata_artop" #define DRV_VERSION "0.4.4" @@ -489,6 +490,11 @@ static int artop_init_one (struct pci_de pci_read_config_byte(pdev, 0x4a, ®); pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80); + /* NAS100D workaround - probing second port kills uhci_hcd */ +#ifdef CONFIG_MACH_NAS100D + if (machine_is_nas100d()) + ppi[1] = &ata_dummy_port_info; +#endif } BUG_ON(ppi[0] == NULL);