From c909b4b42e88a8e797e58a5e3e5ecf3716ae4783 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Tue, 24 Sep 2002 17:10:03 +0000 Subject: Check status register for error git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2400 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/ata.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'firmware') diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index d547692b56..8e9ec942cd 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -62,6 +62,7 @@ #define STATUS_BSY 0x80 #define STATUS_RDY 0x40 +#define STATUS_DF 0x20 #define STATUS_DRQ 0x08 #define STATUS_ERR 0x01 @@ -223,6 +224,9 @@ int ata_read_sectors(unsigned long start, continue; } + if ( ATA_ALT_STATUS & (STATUS_ERR | STATUS_DF) ) + continue; + /* if destination address is odd, use byte copying, otherwise use word copying */ -- cgit v1.2.3