--- ata.c.orig	2008-02-15 16:19:25.340069000 +0100
+++ ata.c	2008-02-21 10:39:47.199713920 +0100
@@ -906,7 +906,8 @@
  * ATA -> Flash interface automatically sleeps almost immediately after the
  * last command.
  */
-#ifndef IPOD_NANO
+#if 0
+//#ifndef IPOD_NANO
     int ret;
     int retry_count;
     
@@ -1048,7 +1049,7 @@
         unsigned char subcommand;
         unsigned char parameter;
     } features[] = {
-        { 83, 3, 0x05, 0x80 }, /* power management: lowest power without standby */
+//      { 83, 3, 0x05, 0x80 }, /* power management: lowest power without standby */
         { 83, 9, 0x42, 0x80 }, /* acoustic management: lowest noise */
         { 82, 6, 0xaa, 0 },    /* enable read look-ahead */
         { 83, 14, 0x03, 0 },   /* force PIO mode */
@@ -1064,7 +1065,8 @@
             pio_mode = 3;
 
     /* Update the table */
-    features[3].parameter = 8 + pio_mode;
+//  features[3].parameter = 8 + pio_mode;
+    features[2].parameter = 8 + pio_mode;
     
     SET_REG(ATA_SELECT, ata_device);
 
@@ -1086,7 +1088,8 @@
 
             if(ATA_ALT_STATUS & STATUS_ERR) {
                 if(ATA_ERROR & ERROR_ABRT) {
-                    return -20 - i;
+//                  return -20 - i;
+                    return -21 - i;
                 }
             }
         }
