mmc: usdhi6rol0: fix ack register write
authorRabin Vincent <rabin.vincent@axis.com>
Wed, 19 Aug 2015 13:41:36 +0000 (15:41 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 27 Aug 2015 12:50:55 +0000 (14:50 +0200)
The intent appears to be to clear only the bits which are set in status
(by setting them to zero in the ack write), like in the other interrupt
handlers, and not to always clear everything (by always writing zero).
Use the correct not operator.

Signed-off-by: Rabin Vincent <rabin.vincent@axis.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/usdhi6rol0.c

index 4188e84ea450176d604dfb2247584a7379231e63..b505cbc25aac5bdcab35063b3171f6e560e10175 100644 (file)
@@ -1611,7 +1611,7 @@ static irqreturn_t usdhi6_cd(int irq, void *dev_id)
                return IRQ_NONE;
 
        /* Ack */
-       usdhi6_write(host, USDHI6_SD_INFO1, !status);
+       usdhi6_write(host, USDHI6_SD_INFO1, ~status);
 
        if (!work_pending(&mmc->detect.work) &&
            (((status & USDHI6_SD_INFO1_CARD_INSERT) &&