From 245a1f10e05e3a9aaba919a9ed30f10f9f38aa4a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 6 May 2023 15:51:49 +0900 Subject: [PATCH] 4.19-stable patches added patches: i2c-omap-fix-standard-mode-false-ack-readings.patch --- ...fix-standard-mode-false-ack-readings.patch | 37 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 38 insertions(+) create mode 100644 queue-4.19/i2c-omap-fix-standard-mode-false-ack-readings.patch diff --git a/queue-4.19/i2c-omap-fix-standard-mode-false-ack-readings.patch b/queue-4.19/i2c-omap-fix-standard-mode-false-ack-readings.patch new file mode 100644 index 00000000000..7072de6529e --- /dev/null +++ b/queue-4.19/i2c-omap-fix-standard-mode-false-ack-readings.patch @@ -0,0 +1,37 @@ +From c770657bd2611b077ec1e7b1fe6aa92f249399bd Mon Sep 17 00:00:00 2001 +From: Reid Tonking +Date: Wed, 26 Apr 2023 14:49:56 -0500 +Subject: i2c: omap: Fix standard mode false ACK readings + +From: Reid Tonking + +commit c770657bd2611b077ec1e7b1fe6aa92f249399bd upstream. + +Using standard mode, rare false ACK responses were appearing with +i2cdetect tool. This was happening due to NACK interrupt triggering +ISR thread before register access interrupt was ready. Removing the +NACK interrupt's ability to trigger ISR thread lets register access +ready interrupt do this instead. + +Cc: # v3.7+ +Fixes: 3b2f8f82dad7 ("i2c: omap: switch to threaded IRQ support") +Signed-off-by: Reid Tonking +Acked-by: Vignesh Raghavendra +Reviewed-by: Tony Lindgren +Signed-off-by: Wolfram Sang +Signed-off-by: Greg Kroah-Hartman +--- + drivers/i2c/busses/i2c-omap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/i2c/busses/i2c-omap.c ++++ b/drivers/i2c/busses/i2c-omap.c +@@ -1027,7 +1027,7 @@ omap_i2c_isr(int irq, void *dev_id) + u16 stat; + + stat = omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG); +- mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG); ++ mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG) & ~OMAP_I2C_STAT_NACK; + + if (stat & mask) + ret = IRQ_WAKE_THREAD; diff --git a/queue-4.19/series b/queue-4.19/series index 49f7465a077..52c33f6e5a0 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -16,3 +16,4 @@ ring-buffer-sync-irq-works-before-buffer-destruction.patch crypto-api-demote-bug_on-in-crypto_unregister_alg-to-a-warn_on.patch reiserfs-add-security-prefix-to-xattr-name-in-reiserfs_security_write.patch kvm-nvmx-emulate-nops-in-l2-and-pause-if-it-s-not-intercepted.patch +i2c-omap-fix-standard-mode-false-ack-readings.patch -- 2.47.3