gma display_probing: End probing after all ports failed

In case of failure, we kept trying the last port in the list for
further pipelines. Fix that.

Change-Id: Id434492a7186f3b9431fd98dc16c0a7aa0e92501
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/32728
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
diff --git a/common/hw-gfx-gma-display_probing.adb b/common/hw-gfx-gma-display_probing.adb
index cd2a452..d21b277 100644
--- a/common/hw-gfx-gma-display_probing.adb
+++ b/common/hw-gfx-gma-display_probing.adb
@@ -1,5 +1,6 @@
 --
 -- Copyright (C) 2015-2016 secunet Security Networks AG
+-- Copyright (C) 2019 Nico Huber <nico.h@gmx.de>
 --
 -- This program is free software; you can redistribute it and/or modify
 -- it under the terms of the GNU General Public License as published by
@@ -183,6 +184,7 @@
       for Pipe in Pipe_Index range
          Pipe_Index'First .. Pipe_Index'Min (Max_Pipe, Config.Max_Pipe)
       loop
+         Success := False;
          while Ports (Port_Idx) /= Disabled loop
             if not Port_Configured (Configs, Ports (Port_Idx)) and
                (not Has_Sibling_Port (Ports (Port_Idx)) or
@@ -198,6 +200,7 @@
 
             exit when Success;
          end loop;
+         exit when not Success;
       end loop;
 
       -- Restore power settings