summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-05-06 10:12:05 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-05-06 10:12:05 +0000
commit35e7b25472891ecee52e63445641ef964cb7133f (patch)
tree6f65fbeaf09ea2186386fc21aa717c67f1a8b515
parent6edb95d0509afc2bd66b2cb1b3feee5e363c3d62 (diff)
downloadrockbox-35e7b25472891ecee52e63445641ef964cb7133f.zip
rockbox-35e7b25472891ecee52e63445641ef964cb7133f.tar.gz
rockbox-35e7b25472891ecee52e63445641ef964cb7133f.tar.bz2
rockbox-35e7b25472891ecee52e63445641ef964cb7133f.tar.xz
ata_hard_reset should be synchronized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17397 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/ata.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c
index 1dd0513..4f4fb4c 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -956,6 +956,8 @@ int ata_hard_reset(void)
{
int ret;
+ mutex_lock(&ata_mtx);
+
ata_reset();
/* state HRR2 */
@@ -965,6 +967,8 @@ int ata_hard_reset(void)
/* Massage the return code so it is 0 on success and -1 on failure */
ret = ret?0:-1;
+ mutex_unlock(&ata_mtx);
+
return ret;
}