summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-11-12 20:02:23 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-11-12 20:02:23 +0000
commit099a6b58d1cca1fb052aa453cf1dec524d3ba35a (patch)
tree23f0446a151c3f8ca47e6c715256a27737532b3b /firmware/drivers
parent5a7548afbaa216385639b224051de5ea28fbeafe (diff)
downloadrockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.tar.gz
rockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.zip
Added extra safety checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2839 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/ata.c3
-rw-r--r--firmware/drivers/fat.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c
index 7e1d2421d3..58349f69a6 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -292,6 +292,9 @@ int ata_write_sectors(unsigned long start,
292 292
293 last_disk_activity = current_tick; 293 last_disk_activity = current_tick;
294 294
295 if (start == 0)
296 panicf("Writing on sector 0\n");
297
295 mutex_lock(&ata_mtx); 298 mutex_lock(&ata_mtx);
296 299
297 if ( sleeping ) { 300 if ( sleeping ) {
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c
index 38223edc6a..37b0648c2e 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -1128,8 +1128,11 @@ static bool transfer( int start, int count, char* buf, bool write )
1128 int err; 1128 int err;
1129 1129
1130 LDEBUGF("transfer(s=%x, c=%x, %s)\n",start, count, write?"write":"read"); 1130 LDEBUGF("transfer(s=%x, c=%x, %s)\n",start, count, write?"write":"read");
1131 if (write) 1131 if (write) {
1132 if (start < fat_bpb.firstdatasector)
1133 panicf("Writing before data\n");
1132 err = ata_write_sectors(start, count, buf); 1134 err = ata_write_sectors(start, count, buf);
1135 }
1133 else 1136 else
1134 err = ata_read_sectors(start, count, buf); 1137 err = ata_read_sectors(start, count, buf);
1135 if (err) { 1138 if (err) {