ANDing anything with 0x1E and expecting it to be not 0x03 will always
be true. AND instead with 0x03, so that we check the last two bits,
which should be what was intended there.

Reported-by: David Binderman <dcb...@hotmail.com>
Signed-off-by: Levente Kurusa <le...@linux.com>
---
 drivers/staging/rts5208/sd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rts5208/sd.c b/drivers/staging/rts5208/sd.c
index c7c1f54..03548e5 100644
--- a/drivers/staging/rts5208/sd.c
+++ b/drivers/staging/rts5208/sd.c
@@ -3512,7 +3512,7 @@ RTY_SEND_CMD:
                                        TRACE_RET(chip, STATUS_FAIL);
 
                        } else if (rsp_type == SD_RSP_TYPE_R0) {
-                               if ((ptr[3] & 0x1E) != 0x03)
+                               if ((ptr[3] & 0x03) != 0x03)
                                        TRACE_RET(chip, STATUS_FAIL);
                        }
                }
-- 
1.8.3.1

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

Reply via email to