Static analysis issue:

In assert_port_valid, add a check to ensure port != PORT_NONE, as that
is not a valid port.  The check must be explicit to prevent a bad bit
shift operation in the general case via short-circuiting.  It's not
likely this will ever come up in a real use case, but it's at least
worth guarding against.

It would probably also be pertinent to modify the behavior of the
port_name function to correctly print PORT_NONE in this case, as
currently the port would be reported as 'port @' by the debugger.  But
that should be done separately, and given port_name is mostly just a
debug printing helper function anyways, fixing it is a low priority.

Signed-off-by: Jonathan Cavitt <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 7491e00e3858..250f31bb5938 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7828,7 +7828,8 @@ static bool intel_ddi_crt_present(struct intel_display 
*display)
 
 bool assert_port_valid(struct intel_display *display, enum port port)
 {
-       return !drm_WARN(display->drm, 
!(DISPLAY_RUNTIME_INFO(display)->port_mask & BIT(port)),
+       return !drm_WARN(display->drm,
+                        !(port < 0 || DISPLAY_RUNTIME_INFO(display)->port_mask 
& BIT(port)),
                         "Platform does not support port %c\n", 
port_name(port));
 }
 
-- 
2.43.0

Reply via email to