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 <dcb314@xxxxxxxxxxx> Signed-off-by: Levente Kurusa <levex@xxxxxxxxx> --- 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel