dm: gpio: request list: return the count if requests max_count reached
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Tue, 31 Mar 2015 16:57:16 +0000 (18:57 +0200)
committerSimon Glass <sjg@chromium.org>
Sat, 18 Apr 2015 17:11:17 +0000 (11:11 -0600)
The function gpio_request_list_by_name_nodev() returned -ENOSPC error,
when the loop count was greater than requested count. This was wrong,
because function should return the requested gpio count, when meets
the call request without errors. Now, the loop ends on requested
max_count.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
drivers/gpio/gpio-uclass.c

index b6e10587a326d780b09fd413e2b9536d241f20aa..ca94bbb904649e1372f7d2fbfc278f9d1aae4aea 100644 (file)
@@ -590,11 +590,7 @@ int gpio_request_list_by_name_nodev(const void *blob, int node,
        int count;
        int ret;
 
-       for (count = 0; ; count++) {
-               if (count >= max_count) {
-                       ret = -ENOSPC;
-                       goto err;
-               }
+       for (count = 0; count < max_count; count++) {
                ret = _gpio_request_by_name_nodev(blob, node, list_name, count,
                                                  &desc[count], flags, true);
                if (ret == -ENOENT)