diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-11-12 20:02:23 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-12 20:02:23 +0000 |
| commit | 099a6b58d1cca1fb052aa453cf1dec524d3ba35a (patch) | |
| tree | 23f0446a151c3f8ca47e6c715256a27737532b3b | |
| parent | 5a7548afbaa216385639b224051de5ea28fbeafe (diff) | |
| download | rockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.zip rockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.tar.gz rockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.tar.bz2 rockbox-099a6b58d1cca1fb052aa453cf1dec524d3ba35a.tar.xz | |
Added extra safety checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2839 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/ata.c | 3 | ||||
| -rw-r--r-- | firmware/drivers/fat.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index 7e1d242..58349f6 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -292,6 +292,9 @@ int ata_write_sectors(unsigned long start, last_disk_activity = current_tick; + if (start == 0) + panicf("Writing on sector 0\n"); + mutex_lock(&ata_mtx); if ( sleeping ) { diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index 38223ed..37b0648 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 ) int err; LDEBUGF("transfer(s=%x, c=%x, %s)\n",start, count, write?"write":"read"); - if (write) + if (write) { + if (start < fat_bpb.firstdatasector) + panicf("Writing before data\n"); err = ata_write_sectors(start, count, buf); + } else err = ata_read_sectors(start, count, buf); if (err) { |