diff options
| author | Torne Wuff <torne@wolfpuppy.org.uk> | 2009-11-24 18:09:21 +0000 |
|---|---|---|
| committer | Torne Wuff <torne@wolfpuppy.org.uk> | 2009-11-24 18:09:21 +0000 |
| commit | 640d98de0fe2d7f5447ce2bdaf435108478e451a (patch) | |
| tree | febe67d14d2db6c5d8114394c2b38c40c5ee7ac4 /firmware | |
| parent | b896e86842d68920d53ceddb5f68ee5a8c4a4985 (diff) | |
| download | rockbox-640d98de0fe2d7f5447ce2bdaf435108478e451a.zip rockbox-640d98de0fe2d7f5447ce2bdaf435108478e451a.tar.gz rockbox-640d98de0fe2d7f5447ce2bdaf435108478e451a.tar.bz2 rockbox-640d98de0fe2d7f5447ce2bdaf435108478e451a.tar.xz | |
FS#9721 - No error check after writes in ata.c
Patch by Boris Gjenero (dreamlayers). Writes are retried on failure now so this should be safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23741 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/drivers/ata.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index b00f67f..7c0164a 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -250,7 +250,9 @@ STATICIRAM ICODE_ATTR int wait_for_end_of_transfer(void) { 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) |