drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page()
authorRoger Tseng <rogerable@realtek.com>
Tue, 12 Nov 2013 23:11:40 +0000 (15:11 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 13 Nov 2013 03:09:35 +0000 (12:09 +0900)
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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/memstick/core/ms_block.c

index 08e70232062fbcdde628d33afef1a4f5f3f93de0..9188ef5d677ede05a5cb2c56d176bfb878321185 100644 (file)
@@ -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: