mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1] usb: typec: tipd: keep default interrupts enabled during probe()
@ 2022-01-10 16:35 Martin Kepplinger
  2022-01-11  9:11 ` Heikki Krogerus
  2022-01-11 11:10 ` Hector Martin
  0 siblings, 2 replies; 4+ messages in thread
From: Martin Kepplinger @ 2022-01-10 16:35 UTC (permalink / raw)
  To: heikki.krogerus, gregkh, sven, hdegoede, marcan
  Cc: kernel, linux-usb, linux-kernel, Martin Kepplinger

Commit 9990f2f6264c ("usb: typec: tipd: Enable event interrupts by default")
writes a fixed set of interrupts to TPS_REG_INT_MASK1. In case interrupts
had been enabled by the firmware by default, these get disabled now
which can break use cases. Only append to what is already enabled instead.

Fixes: 9990f2f6264c ("usb: typec: tipd: Enable event interrupts by default")
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
---
 drivers/usb/typec/tipd/core.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
index 6d27a5b5e3ca..365ee5494c15 100644
--- a/drivers/usb/typec/tipd/core.c
+++ b/drivers/usb/typec/tipd/core.c
@@ -744,10 +744,14 @@ static int tps6598x_probe(struct i2c_client *client)
 
 		irq_handler = cd321x_interrupt;
 	} else {
+		ret = tps6598x_read64(tps, TPS_REG_INT_MASK1, &mask1);
+		if (ret)
+			return ret;
+
 		/* Enable power status, data status and plug event interrupts */
-		mask1 = TPS_REG_INT_POWER_STATUS_UPDATE |
-			TPS_REG_INT_DATA_STATUS_UPDATE |
-			TPS_REG_INT_PLUG_EVENT;
+		mask1 |= TPS_REG_INT_POWER_STATUS_UPDATE |
+			 TPS_REG_INT_DATA_STATUS_UPDATE |
+			 TPS_REG_INT_PLUG_EVENT;
 	}
 
 	/* Make sure the controller has application firmware running */
-- 
2.30.2


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-13  9:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 16:35 [PATCH v1] usb: typec: tipd: keep default interrupts enabled during probe() Martin Kepplinger
2022-01-11  9:11 ` Heikki Krogerus
2022-01-11 11:10 ` Hector Martin
2022-01-13  9:15   ` Martin Kepplinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome