Commit 49d3d6c3 authored by Dan Carpenter's avatar Dan Carpenter Committed by Linus Torvalds

drivers/misc/sgi-gru/grukdump.c: unlocking should be conditional in gru_dump_context()

I was reviewing this and noticed that unlocking should be conditional on
the error path.  I've changed it to unlock and return directly since we
only do it once and it seems unlikely to change in the near future.
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarDimitri Sivanich <sivanich@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b28a960c
...@@ -139,8 +139,11 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, ...@@ -139,8 +139,11 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum,
ubuf += sizeof(hdr); ubuf += sizeof(hdr);
ubufcch = ubuf; ubufcch = ubuf;
if (gru_user_copy_handle(&ubuf, cch)) if (gru_user_copy_handle(&ubuf, cch)) {
goto fail; if (cch_locked)
unlock_cch_handle(cch);
return -EFAULT;
}
if (cch_locked) if (cch_locked)
ubufcch->delresp = 0; ubufcch->delresp = 0;
bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES; bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES;
...@@ -179,10 +182,6 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, ...@@ -179,10 +182,6 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum,
ret = -EFAULT; ret = -EFAULT;
return ret ? ret : bytes; return ret ? ret : bytes;
fail:
unlock_cch_handle(cch);
return -EFAULT;
} }
int gru_dump_chiplet_request(unsigned long arg) int gru_dump_chiplet_request(unsigned long arg)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment