On Wed, Jan 12, 2022 at 05:41:43PM +0800, Wayne Chang wrote: > From: Sing-Han Chen <singhanc@xxxxxxxxxx> > > CCGx clears Bit 0:Device Interrupt in the INTR_REG > if CCGx is reset successfully. However, there might > be a chance that other bits in INTR_REG are not > cleared due to internal data queued in PPM. This case > misleads the driver that CCGx reset failed. > > The commit checks bit 0 in INTR_REG and ignores other > bits. The ucsi driver would reset PPM later. > > Fixes: 247c554a14aa ("usb: typec: ucsi: add support for Cypress CCGx") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Sing-Han Chen <singhanc@xxxxxxxxxx> > Signed-off-by: Wayne Chang <waynec@xxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > V4 -> V5: Added Cc tag and revised the commit messages > V3 -> V4: Updated the Fixes tag > V2 -> V3: Added the Fixes tag > V1 -> V2: Fixed the name of Sign-off-by > drivers/usb/typec/ucsi/ucsi_ccg.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c > index bff96d64dddf..6db7c8ddd51c 100644 > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c > +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c > @@ -325,7 +325,7 @@ static int ucsi_ccg_init(struct ucsi_ccg *uc) > if (status < 0) > return status; > > - if (!data) > + if (!(data & DEV_INT)) > return 0; > > status = ccg_write(uc, CCGX_RAB_INTR_REG, &data, sizeof(data)); > -- > 2.25.1 thanks, -- heikki