--- rockbox-svn-trunk/firmware/drivers/ata.c 2008-12-24 13:34:52.465000000 -0500 +++ rockbox-19605-writecheck/firmware/drivers/ata.c 2008-12-28 12:38:49.517200000 -0500 @@ -239,7 +239,9 @@ { if (!wait_for_bsy()) return 0; - return (ATA_ALT_STATUS & (STATUS_RDY|STATUS_DRQ)) == STATUS_RDY; + return (ATA_ALT_STATUS & + (STATUS_BSY|STATUS_RDY|STATUS_DF|STATUS_DRQ|STATUS_ERR)) + == STATUS_RDY; } #if (CONFIG_LED == LED_REAL)