aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch')
-rw-r--r--target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch b/target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch
new file mode 100644
index 0000000000..e6b717147c
--- /dev/null
+++ b/target/linux/ixp4xx/patches-2.6.23/015-nas100d_pata_artop_single_port.patch
@@ -0,0 +1,23 @@
+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 <scsi/scsi_host.h>
+ #include <linux/libata.h>
+ #include <linux/ata.h>
++#include <asm/mach-types.h>
+
+ #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, &reg);
+ 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);