Jelajahi Sumber

mmc: usdhi6rol0: fix ack register write

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>
Rabin Vincent 10 tahun lalu
induk
melakukan
3fe95db19b
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      drivers/mmc/host/usdhi6rol0.c

+ 1 - 1
drivers/mmc/host/usdhi6rol0.c

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