From deae337ce1fe4afc734f8d4f1776b3c2c7820861 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Wed, 4 Jul 2012 11:55:07 +0800 Subject: [PATCH] --- yaml --- r: 312610 b: refs/heads/master c: 9c6a74c5e0ca3bfac09cb1e7bf7629cc0f3aa48c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/regulator/ad5398.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index c5bf09132de0..a26b67a5ce55 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fca53d862dcbddaa9db017b70a64392da8c20bce +refs/heads/master: 9c6a74c5e0ca3bfac09cb1e7bf7629cc0f3aa48c diff --git a/trunk/drivers/regulator/ad5398.c b/trunk/drivers/regulator/ad5398.c index 46d05f38baf8..f123f7e3b752 100644 --- a/trunk/drivers/regulator/ad5398.c +++ b/trunk/drivers/regulator/ad5398.c @@ -89,9 +89,12 @@ static int ad5398_set_current_limit(struct regulator_dev *rdev, int min_uA, int unsigned short data; int ret; - if (min_uA > chip->max_uA || min_uA < chip->min_uA) - return -EINVAL; - if (max_uA > chip->max_uA || max_uA < chip->min_uA) + if (min_uA < chip->min_uA) + min_uA = chip->min_uA; + if (max_uA > chip->max_uA) + max_uA = chip->max_uA; + + if (min_uA > chip->max_uA || max_uA < chip->min_uA) return -EINVAL; selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,