From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751413AbdKKFxU (ORCPT ); Sat, 11 Nov 2017 00:53:20 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:51116 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751267AbdKKFxS (ORCPT ); Sat, 11 Nov 2017 00:53:18 -0500 X-Google-Smtp-Source: AGs4zMaOWTwSCta6rZiLeF1vbLVZ0NpcvVv9L/Ir0jrMMSTYIPpjgcVfOvtcYgv0xOEm0LDmo1abfg== From: Gimcuan Hui To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org Subject: [PATCH] drivers: base: omit redundant interations Date: Sat, 11 Nov 2017 05:52:54 +0000 Message-Id: <20171111055254.2277-1-gimcuan@gmail.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When error happens, these interators return the error, no interation should be continued, so make the change for getting out of while immediately. Signed-off-by: Gimcuan Hui --- drivers/base/bus.c | 2 +- drivers/base/core.c | 2 +- drivers/base/driver.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 22a64fd3309b..40b118586434 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -309,7 +309,7 @@ int bus_for_each_dev(struct bus_type *bus, struct device *start, klist_iter_init_node(&bus->p->klist_devices, &i, (start ? &start->p->knode_bus : NULL)); - while ((dev = next_device(&i)) && !error) + while (!error && (dev = next_device(&i))) error = fn(dev, data); klist_iter_exit(&i); return error; diff --git a/drivers/base/core.c b/drivers/base/core.c index 12ebd055724c..725ade87cbeb 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2116,7 +2116,7 @@ int device_for_each_child(struct device *parent, void *data, return 0; klist_iter_init(&parent->p->klist_children, &i); - while ((child = next_device(&i)) && !error) + while (!error && (child = next_device(&i))) error = fn(child, data); klist_iter_exit(&i); return error; diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 4eabfe28d2b3..11832dc88a7a 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -52,7 +52,7 @@ int driver_for_each_device(struct device_driver *drv, struct device *start, klist_iter_init_node(&drv->p->klist_devices, &i, start ? &start->p->knode_driver : NULL); - while ((dev = next_device(&i)) && !error) + while (!error && (dev = next_device(&i))) error = fn(dev, data); klist_iter_exit(&i); return error; -- 2.11.0