* [bug report] drm/bridge: it6505: fix HDCP CTS compare V matching
@ 2025-01-08 9:13 Dan Carpenter
2025-01-08 9:23 ` Hermes.Wu
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2025-01-08 9:13 UTC (permalink / raw)
To: Hermes Wu; +Cc: dri-devel
Hello Hermes Wu,
Commit 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V
matching") from Dec 30, 2024 (linux-next), leads to the following
Smatch static checker warning:
drivers/gpu/drm/bridge/ite-it6505.c:2253 it6505_hdcp_part2_ksvlist_check()
warn: ignoring unreachable code.
drivers/gpu/drm/bridge/ite-it6505.c
2230 static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505)
2231 {
2232 struct device *dev = it6505->dev;
2233 u8 av[5][4], bv[5][4];
2234 int i, err, retry;
2235
2236 i = it6505_setup_sha1_input(it6505, it6505->sha1_input);
2237 if (i <= 0) {
2238 dev_err(dev, "SHA-1 Input length error %d", i);
2239 return false;
2240 }
2241
2242 it6505_sha1_digest(it6505, it6505->sha1_input, i, (u8 *)av);
2243 /*1B-05 V' must retry 3 times */
2244 for (retry = 0; retry < 3; retry++) {
2245 err = it6505_get_dpcd(it6505, DP_AUX_HDCP_V_PRIME(0), (u8 *)bv,
2246 sizeof(bv));
2247
2248 if (err < 0) {
2249 dev_err(dev, "Read V' value Fail %d", retry);
2250 continue;
2251 }
2252
--> 2253 for (i = 0; i < 5; i++) {
This looks like a loop from 0-4.
2254 if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] ||
2255 av[i][1] != av[i][2] || bv[i][0] != av[i][3])
2256 break;
2257
2258 DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
2259 return true;
But it is a "loop" from 0-0.
2260 }
2261 }
2262
2263 DRM_DEV_DEBUG_DRIVER(dev, "V' NOT match!! %d", retry);
2264 return false;
2265 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [bug report] drm/bridge: it6505: fix HDCP CTS compare V matching
2025-01-08 9:13 [bug report] drm/bridge: it6505: fix HDCP CTS compare V matching Dan Carpenter
@ 2025-01-08 9:23 ` Hermes.Wu
0 siblings, 0 replies; 2+ messages in thread
From: Hermes.Wu @ 2025-01-08 9:23 UTC (permalink / raw)
To: dan.carpenter; +Cc: dri-devel
Hi Dan Carpenter,
>
>-----Original Message-----
>From: Dan Carpenter <dan.carpenter@linaro.org>
>Sent: Wednesday, January 8, 2025 5:14 PM
>To: Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw>
>Cc: dri-devel@lists.freedesktop.org
>Subject: [bug report] drm/bridge: it6505: fix HDCP CTS compare V matching
>
>Hello Hermes Wu,
>
>Commit 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V
>matching") from Dec 30, 2024 (linux-next), leads to the following Smatch static checker warning:
>
> drivers/gpu/drm/bridge/ite-it6505.c:2253 it6505_hdcp_part2_ksvlist_check()
> warn: ignoring unreachable code.
>
>drivers/gpu/drm/bridge/ite-it6505.c
> 2230 static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505)
> 2231 {
> 2232 struct device *dev = it6505->dev;
> 2233 u8 av[5][4], bv[5][4];
> 2234 int i, err, retry;
> 2235
> 2236 i = it6505_setup_sha1_input(it6505, it6505->sha1_input);
> 2237 if (i <= 0) {
> 2238 dev_err(dev, "SHA-1 Input length error %d", i);
> 2239 return false;
> 2240 }
> 2241
> 2242 it6505_sha1_digest(it6505, it6505->sha1_input, i, (u8 *)av);
> 2243 /*1B-05 V' must retry 3 times */
> 2244 for (retry = 0; retry < 3; retry++) {
> 2245 err = it6505_get_dpcd(it6505, DP_AUX_HDCP_V_PRIME(0), (u8 *)bv,
> 2246 sizeof(bv));
> 2247
> 2248 if (err < 0) {
> 2249 dev_err(dev, "Read V' value Fail %d", retry);
> 2250 continue;
> 2251 }
> 2252
>--> 2253 for (i = 0; i < 5; i++) {
>
>This looks like a loop from 0-4.
>
> 2254 if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] ||
> 2255 av[i][1] != av[i][2] || bv[i][0] != av[i][3])
> 2256 break;
> 2257
> 2258 DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
> 2259 return true;
>
>But it is a "loop" from 0-0.
I have fix this in following,
https://lore.kernel.org/all/20250108-fix-hdcp-v-comp-v1-1-9404811825cd@ite.com.tw/
Thanks a lot.
> 2260 }
> 2261 }
> 2262
> 2263 DRM_DEV_DEBUG_DRIVER(dev, "V' NOT match!! %d", retry);
> 2264 return false;
> 2265 }
>
>regards,
>dan carpenter
>
BR,
Hermes
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-08 9:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-08 9:13 [bug report] drm/bridge: it6505: fix HDCP CTS compare V matching Dan Carpenter
2025-01-08 9:23 ` Hermes.Wu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox