The call was not releasing the mutex upon error.

Reported-by: kbuild test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>
Signed-off-by: Davidlohr Bueso <d...@stgolabs.net>
---
 drivers/staging/exfat/exfat_super.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/exfat/exfat_super.c 
b/drivers/staging/exfat/exfat_super.c
index e9e9868cae85..02dcfe06fc4f 100644
--- a/drivers/staging/exfat/exfat_super.c
+++ b/drivers/staging/exfat/exfat_super.c
@@ -742,8 +742,10 @@ static int ffsReadFile(struct inode *inode, struct 
file_id_t *fid, void *buffer,
 
                        while (clu_offset > 0) {
                                /* clu = FAT_read(sb, clu); */
-                               if (FAT_read(sb, clu, &clu) == -1)
-                                       return FFS_MEDIAERR;
+                               if (FAT_read(sb, clu, &clu) == -1) {
+                                       ret = FFS_MEDIAERR;
+                                       goto out;
+                               }
 
                                clu_offset--;
                        }
-- 
2.16.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to