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.tar.gz
rockbox-35e7b25472891ecee52e63445641ef964cb7133f.zip
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 1dd05133fe..4f4fb4c9b3 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -956,6 +956,8 @@ int ata_hard_reset(void)
956{ 956{
957 int ret; 957 int ret;
958 958
959 mutex_lock(&ata_mtx);
960
959 ata_reset(); 961 ata_reset();
960 962
961 /* state HRR2 */ 963 /* state HRR2 */
@@ -965,6 +967,8 @@ int ata_hard_reset(void)
965 /* Massage the return code so it is 0 on success and -1 on failure */ 967 /* Massage the return code so it is 0 on success and -1 on failure */
966 ret = ret?0:-1; 968 ret = ret?0:-1;
967 969
970 mutex_unlock(&ata_mtx);
971
968 return ret; 972 return ret;
969} 973}
970 974