summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Tseng <rogerable@realtek.com>2013-11-12 15:11:40 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-29 11:28:06 -0800
commit74dfb60defc4debf23751a16e4b7253d10e72274 (patch)
tree5f623d0d6405968fb7b6d3c442cf649574c3a681
parent425a81974e54b610d3c1ab174e3ae3a08e3aeb28 (diff)
drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page()
commit a0e5a12fd18d47aa87a7a8c60ca5bc422b136564 upstream. In h_msb_read_page() in ms_block.c, flow never reaches case MSB_RP_RECIVE_STATUS_REG. This causes error when MEMSTICK_INT_ERR is encountered and status error bits are going to be examined, but the status will never be copied back. Fix it by transitioning to MSB_RP_RECIVE_STATUS_REG right after MSB_RP_SEND_READ_STATUS_REG. Signed-off-by: Roger Tseng <rogerable@realtek.com> Acked-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/memstick/core/ms_block.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c
index 08e70232062f..9188ef5d677e 100644
--- a/drivers/memstick/core/ms_block.c
+++ b/drivers/memstick/core/ms_block.c
@@ -401,7 +401,7 @@ again:
sizeof(struct ms_status_register)))
return 0;
- msb->state = MSB_RP_RECEIVE_OOB_READ;
+ msb->state = MSB_RP_RECIVE_STATUS_REG;
return 0;
case MSB_RP_RECIVE_STATUS_REG: