Message ID | 20250108-fix-hdcp-v-comp-v1-1-9404811825cd@ite.com.tw (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/bridge: it6505: fix HDCP V match check is not performed correctly | expand |
On Wed, Jan 08, 2025 at 01:45:14PM +0800, Hermes Wu via B4 Relay wrote: > From: Hermes Wu <Hermes.wu@ite.com.tw> > > The loop of V compare is expected to iterate for 5 times > which compare V array form av[0][] to av[4][]. > It should check loop counter reach the last statement before return true > > Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matching") > > Signed-off-by: Hermes Wu <Hermes.wu@ite.com.tw> No empty lines between tags, please. > --- > drivers/gpu/drm/bridge/ite-it6505.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c > index 88ef76a37fe6accacdd343839ff2569b31b18ceb..e87247aea1d2ffbdad192e241056d34fdfb32163 100644 > --- a/drivers/gpu/drm/bridge/ite-it6505.c > +++ b/drivers/gpu/drm/bridge/ite-it6505.c > @@ -2254,9 +2254,12 @@ static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505) > if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] || > av[i][1] != av[i][2] || bv[i][0] != av[i][3]) > break; > - > - DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i); > - return true; > + if (i == 4) { I think there was a similar patch yesteday. Anyway, I have exactly the same feedback: please pull this out of the loop, this is how it's usually checked / done. > + DRM_DEV_DEBUG_DRIVER(dev, > + "V' all match!! %d", > + retry); > + return true; > + } > } > } > > > --- > base-commit: 938fbb16aba8f7b88e0fdcf56f315a5bbad41aad > change-id: 20250107-fix-hdcp-v-comp-3ba8e3d7adf3 > > Best regards, > -- > Hermes Wu <Hermes.wu@ite.com.tw> > >
hi > >-----Original Message----- >From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >Sent: Wednesday, January 8, 2025 6:43 PM >To: Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw> >Cc: Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <neil.armstrong@linaro.org>; Robert Foss <rfoss@kernel.org>; Laurent Pinchart <Laurent.pinchart@ideasonboard.com>; Jonas Karlman <jonas@kwiboo.se>; Jernej Skrabec <jernej.skrabec@gmail.com>; Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>; dri-devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; Pet Weng (翁玉芬) <Pet.Weng@ite.com.tw>; Kenneth Hung (洪家倫) <Kenneth.Hung@ite.com.tw>; treapking@chromium.org >Subject: Re: [PATCH] drm/bridge: it6505: fix HDCP V match check is not performed correctly > >On Wed, Jan 08, 2025 at 01:45:14PM +0800, Hermes Wu via B4 Relay wrote: >> From: Hermes Wu <Hermes.wu@ite.com.tw> >> >> The loop of V compare is expected to iterate for 5 times which compare >> V array form av[0][] to av[4][]. >> It should check loop counter reach the last statement before return >> true >> >> Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V >> matching") >> >> Signed-off-by: Hermes Wu <Hermes.wu@ite.com.tw> > >No empty lines between tags, please. > >> --- >> drivers/gpu/drm/bridge/ite-it6505.c | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c >> b/drivers/gpu/drm/bridge/ite-it6505.c >> index >> 88ef76a37fe6accacdd343839ff2569b31b18ceb..e87247aea1d2ffbdad192e241056 >> d34fdfb32163 100644 >> --- a/drivers/gpu/drm/bridge/ite-it6505.c >> +++ b/drivers/gpu/drm/bridge/ite-it6505.c >> @@ -2254,9 +2254,12 @@ static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505) >> if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] || >> av[i][1] != av[i][2] || bv[i][0] != av[i][3]) >> break; >> - >> - DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i); >> - return true; >> + if (i == 4) { > >I think there was a similar patch yesteday. I can't find patch for it6505, would you provide link? If it also fixes this bug, should I just drop this patch? >Anyway, I have exactly the same feedback: please pull this out of the loop, this is how it's usually checked / done. > I will move it out the loop, Thanks. >> + DRM_DEV_DEBUG_DRIVER(dev, >> + "V' all match!! %d", >> + retry); >> + return true; >> + } >> } >> } >> >> >> --- >> base-commit: 938fbb16aba8f7b88e0fdcf56f315a5bbad41aad >> change-id: 20250107-fix-hdcp-v-comp-3ba8e3d7adf3 >> >> Best regards, >> -- >> Hermes Wu <Hermes.wu@ite.com.tw> >> >> > >-- >With best wishes >Dmitry > BR, Hermes
Hi Hermes, On Thu, Jan 9, 2025 at 10:36 AM <Hermes.Wu@ite.com.tw> wrote: > > hi > > > >-----Original Message----- > >From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >Sent: Wednesday, January 8, 2025 6:43 PM > >To: Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw> > >Cc: Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <neil.armstrong@linaro.org>; Robert Foss <rfoss@kernel.org>; Laurent Pinchart <Laurent.pinchart@ideasonboard.com>; Jonas Karlman <jonas@kwiboo.se>; Jernej Skrabec <jernej.skrabec@gmail.com>; Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>; dri-devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; Pet Weng (翁玉芬) <Pet.Weng@ite.com.tw>; Kenneth Hung (洪家倫) <Kenneth.Hung@ite.com.tw>; treapking@chromium.org > >Subject: Re: [PATCH] drm/bridge: it6505: fix HDCP V match check is not performed correctly > > > >On Wed, Jan 08, 2025 at 01:45:14PM +0800, Hermes Wu via B4 Relay wrote: > >> From: Hermes Wu <Hermes.wu@ite.com.tw> > >> > >> The loop of V compare is expected to iterate for 5 times which compare > >> V array form av[0][] to av[4][]. > >> It should check loop counter reach the last statement before return > >> true > >> > >> Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V > >> matching") > >> > >> Signed-off-by: Hermes Wu <Hermes.wu@ite.com.tw> > > > >No empty lines between tags, please. > > > >> --- > >> drivers/gpu/drm/bridge/ite-it6505.c | 9 ++++++--- > >> 1 file changed, 6 insertions(+), 3 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c > >> b/drivers/gpu/drm/bridge/ite-it6505.c > >> index > >> 88ef76a37fe6accacdd343839ff2569b31b18ceb..e87247aea1d2ffbdad192e241056 > >> d34fdfb32163 100644 > >> --- a/drivers/gpu/drm/bridge/ite-it6505.c > >> +++ b/drivers/gpu/drm/bridge/ite-it6505.c > >> @@ -2254,9 +2254,12 @@ static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505) > >> if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] || > >> av[i][1] != av[i][2] || bv[i][0] != av[i][3]) > >> break; > >> - > >> - DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i); > >> - return true; > >> + if (i == 4) { > > > >I think there was a similar patch yesteday. > > I can't find patch for it6505, would you provide link? > If it also fixes this bug, should I just drop this patch? I believe Dmitry is referring to https://lore.kernel.org/all/20250107110740.42892-1-dheeraj.linuxdev@gmail.com/ You can upload a v2 for this and CC Dheeraj on your next patch. > > >Anyway, I have exactly the same feedback: please pull this out of the loop, this is how it's usually checked / done. > > > I will move it out the loop, > > Thanks. > > >> + DRM_DEV_DEBUG_DRIVER(dev, > >> + "V' all match!! %d", > >> + retry); > >> + return true; > >> + } > >> } > >> } > >> > >> > >> --- > >> base-commit: 938fbb16aba8f7b88e0fdcf56f315a5bbad41aad > >> change-id: 20250107-fix-hdcp-v-comp-3ba8e3d7adf3 > >> > >> Best regards, > >> -- > >> Hermes Wu <Hermes.wu@ite.com.tw> > >> > >> > > > >-- > >With best wishes > >Dmitry > > > > BR, > Hermes Regards, Pin-yen
diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c index 88ef76a37fe6accacdd343839ff2569b31b18ceb..e87247aea1d2ffbdad192e241056d34fdfb32163 100644 --- a/drivers/gpu/drm/bridge/ite-it6505.c +++ b/drivers/gpu/drm/bridge/ite-it6505.c @@ -2254,9 +2254,12 @@ static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505) if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] || av[i][1] != av[i][2] || bv[i][0] != av[i][3]) break; - - DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i); - return true; + if (i == 4) { + DRM_DEV_DEBUG_DRIVER(dev, + "V' all match!! %d", + retry); + return true; + } } }