[Mesa-dev] [Mesa-stable] [PATCH] clover: Check the return value of pipe_loader_probe() when probing for devices v2
Francisco Jerez
currojerez at riseup.net
Tue Dec 1 02:41:44 PST 2015
Tom Stellard <thomas.stellard at amd.com> writes:
> When probing for devices, clover will call pipe_loader_probe() twice.
> The first time to retrieve the number of devices, and then second time
> to retrieve the device structures.
>
> We currently assume that the return value of both calls will be the
> same, but this will not be the case if a device happens to disappear
> between the two calls.
>
> This patch removes this assumption and checks the return value of the
> second pipe_loader_probe() call to ensure it does not try to initialize
> devices that no longer exits.
>
> CC: <mesa-stable at lists.freedesktop.org>
>
> v2:
> - Keep range for loop
Thanks,
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
> ---
> src/gallium/state_trackers/clover/core/platform.cpp | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/state_trackers/clover/core/platform.cpp b/src/gallium/state_trackers/clover/core/platform.cpp
> index 328b71c..489e8dc 100644
> --- a/src/gallium/state_trackers/clover/core/platform.cpp
> +++ b/src/gallium/state_trackers/clover/core/platform.cpp
> @@ -32,7 +32,8 @@ platform::platform() : adaptor_range(evals(), devs) {
>
> for (pipe_loader_device *ldev : ldevs) {
> try {
> - devs.push_back(create<device>(*this, ldev));
> + if (ldev)
> + devs.push_back(create<device>(*this, ldev));
> } catch (error &) {
> pipe_loader_release(&ldev, 1);
> }
> --
> 2.0.4
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-stable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20151201/e26199ec/attachment.sig>
More information about the mesa-dev
mailing list