From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kuninori Morimoto Date: Tue, 15 Dec 2015 01:18:13 +0000 Subject: [PATCH 4/8 v5] thermal: rcar: rcar_thermal_get_temp() return error if strange temp Message-Id: <877fkgqzpt.wl%kuninori.morimoto.gx@renesas.com> List-Id: References: <87d1u8qzsy.wl%kuninori.morimoto.gx@renesas.com> In-Reply-To: <87d1u8qzsy.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Simon , Zhang Rui , Eduardo Valentin Cc: Geert Uytterhoeven , Magnus , linux-sh@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, "devicetree@vger.kernel.org" From: Kuninori Morimoto Signed-off-by: Kuninori Morimoto --- v4 -> v5 - rcar_thermal_update_temp() has no change - "retern" -> "return" on Subject drivers/thermal/rcar_thermal.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c index e9e4e39..30602f2 100644 --- a/drivers/thermal/rcar_thermal.c +++ b/drivers/thermal/rcar_thermal.c @@ -203,6 +203,7 @@ err_out_unlock: static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp) { struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone); + int tmp; int ret; ret = rcar_thermal_update_temp(priv); @@ -210,9 +211,18 @@ static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp) return ret; mutex_lock(&priv->lock); - *temp = MCELSIUS((priv->ctemp * 5) - 65); + tmp = MCELSIUS((priv->ctemp * 5) - 65); mutex_unlock(&priv->lock); + if ((tmp < MCELSIUS(-45)) || (tmp > MCELSIUS(125))) { + struct device *dev = rcar_priv_to_dev(priv); + + dev_err(dev, "it couldn't measure temperature correctly\n"); + return -EIO; + } + + *temp = tmp; + return 0; } -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753736AbbLOBSW (ORCPT ); Mon, 14 Dec 2015 20:18:22 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:62509 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753671AbbLOBSR (ORCPT ); Mon, 14 Dec 2015 20:18:17 -0500 X-IronPort-AV: E=Sophos;i="5.20,429,1444662000"; d="scan'";a="200568115" Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Message-ID: <877fkgqzpt.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 4/8 v5] thermal: rcar: rcar_thermal_get_temp() return error if strange temp User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") To: Simon , Zhang Rui , Eduardo Valentin CC: Geert Uytterhoeven , Magnus , , , , "devicetree@vger.kernel.org" In-Reply-To: <87d1u8qzsy.wl%kuninori.morimoto.gx@renesas.com> References: <87d1u8qzsy.wl%kuninori.morimoto.gx@renesas.com> Content-Type: text/plain; charset="US-ASCII" Date: Tue, 15 Dec 2015 01:18:13 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: TY1PR06CA0022.apcprd06.prod.outlook.com (25.164.91.32) To HKXPR06MB1013.apcprd06.prod.outlook.com (25.161.137.28) X-Microsoft-Exchange-Diagnostics: 1;HKXPR06MB1013;2:BEom2EHvqkBw47yohyFKVi49yEkATF5k/yTGmGXrlItDFvtU+NZFxWLcVgie+e15kSDsToFsku/o7g1I9zTu+NMJCWAYqBYZPUMuoDQTZoopLhSC56FtAUCLPr5Jgw1N2pkhqPJ4fyvE9Zcy5MwU5w==;3:I/uu+6XoRBWF9go3j+t1lzOBVDqq+1fLVXtM6EbTmNGeEq4brjPFzH4yt+8+yS9rR51QrQ3F7Rwc7doYEW8GBjC9dSiL9VmWn28w+ddbxYyO22YBI+r75KItRsHKql4p;25:UiZQfepVzFokRLFp77xSenptfxK4gPVySF2BWpdA+LqZsRENkcEM82cUxAF4BfovZJg46pym+ZTDINQKpYP6iG9wTBl3NCugdLbWi8tO2JHnpnulxcGtF2o3/0rYrQv/VvqmnWy+X+VWx7r/WITym1AbdfSmOIbD1GyLQg4CgYCUDbHZb2oz5zsnWOzGRL7LSR3Goxd9D+FxN8XsKMnTyfZZLP581YU/RFpOxAqKWYOXS5DZ7j9d2Iqc6dVDTFIP X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HKXPR06MB1013; X-Microsoft-Exchange-Diagnostics: 1;HKXPR06MB1013;20:avfaUMJjdRQYw2sc7pt0/mdKIK8HiwSY9jAOHG7Q/Q69TvWVbIxCVGaXGodj3Xua7Y3ZVCfTaHc/0Vwd0Xg8w/8Qdj3i68lCzRPyeJAYs+HMxfKjEujIW5OiAk4BFlXGjga9AdMNfBbHDJ/zF6PFUHapRwfNaF634JrwqEz0vWeOejdDdNySGjax8NpWq9LbMA7mrYouf1iTO7aqmJLV8jSle+/JU3c4qQ4SNGfgTjGnw2SiZeCZY6iX9GI3gzIsIUBB4q+57tkCSw2CI1GxLLRflCuf9lp/nPx/7GoVoCVdUgifIzwaIUCkK4aQw7gC5JJY6OawBBE4ZJNO9CzBZ1fm95f+XVEiu3+Em/MWzYYbtxQRzAUDXy8hyrTTWjhFpjDD7wQVGdzRFn5ImihzyHpCSFSCCZc+ebLESznQZ2dZHnQPiaIcSHl7Nu9P6o506aQewmVu8xSQiXsZXPY9G0AcJ4iwknvAyhxaI/FaUDhKaxWsERXTgDNw/7+H+XLO;4:cFG3zI0cymlIrajBzXxKMKuhcA3JzIZ0VZoLrpQYcFnS2OVqCuFoi1kgYJr7Gp8newPLSI28suLkI6Ud8C5evzAvavWZKsr6CPaZkp6u1ikfdOZQbkwk2M3OJgPY/NEQ3tPB+DIzW/efqy1GzKStf/JkCx8vY6+HinQI/U52akFjuJ0iA7lT6PWhcdGKFbUTtrREOCuvtA7QFla0yRqpQVt9SnUR3eVW1EwgTDSXI3sK+hM6nhkF/5cvs/GopOT6IpRBeWxPEXicJ2LKZznBN3A25bC990+9eQj50a1F/QTflwYAA4gLqi59dKjtwELIr/ceGQGpAY1l4/9DsKiU/5zJ9BugQTaSb9pC3tVX5K/GzIJRADE0raiKs3WYMincw6o2u20tEHhL5V2VDfHCtxMoW3C83W3rmonBOJtTyZw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(85106069007906); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(10201501046);SRVR:HKXPR06MB1013;BCL:0;PCL:0;RULEID:;SRVR:HKXPR06MB1013; X-Forefront-PRVS: 07915F544A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(189002)(189998001)(97736004)(5001770100001)(54356999)(53416004)(586003)(36756003)(5001960100002)(6116002)(1096002)(3846002)(23726003)(5004730100002)(81156007)(4001350100001)(229853001)(5008740100001)(33646002)(46406003)(40100003)(50986999)(66066001)(42186005)(122386002)(77096005)(50466002)(105586002)(76176999)(87976001)(106356001)(86362001)(92566002)(83506001)(101416001)(19580395003)(19580405001)(47776003)(69596002)(2950100001);DIR:OUT;SFP:1102;SCL:1;SRVR:HKXPR06MB1013;H:morimoto-PC.renesas.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HKXPR06MB1013;23:Xy04o0yrgLY6TUwessdnp23HlZ9qmOJQrzKyOaIFI?= =?us-ascii?Q?9mBMSyag8/wkNht+OxT7gbWQDTwFvXBW5BfI0SXvdOYthfOYmCfVwkzOtWqJ?= =?us-ascii?Q?hBsyeXcg2QBDr4V3zCSjsS4kZZLQK08UnpGTGtlcGotj+MVY+oMWlRA+at/D?= =?us-ascii?Q?pWLmWt+KmDuqesgP+5tzERbrT0vulHpUFjfIH9tY/1Dh5llCopCtJ0jBnDEm?= =?us-ascii?Q?1qYNk9Vnl+2j5ZOCMOfRTHk9/IeRk76eNyv+2DzAlnYFxiczEEzoT0qrjQwa?= =?us-ascii?Q?pBpfqwCv0HAmnlc8hKiLGiZcwAGExHfSlahzSKuYmYZMK/M/4Os79dcdCJqb?= =?us-ascii?Q?8ijnHDhPpcFj1IadvhTAsT+e/q2ap+4a5Rj+e5eoRpb1zIB2uX3PEf4EbbiQ?= =?us-ascii?Q?9nJCAo7IqNGnVB4YewJ/zio+lFpxm7eo3IhW5Z8q/j0Y9STj6mVNlwbbfohL?= =?us-ascii?Q?KxsQOqny/LD2Aatz32scAdOTK/0Uti4cZWIDGIl8IQR4B9ciDO/hprOl7IlX?= =?us-ascii?Q?5MORk1Tvu44Jn6QZthdm/BgxdIfbWfjLE3OxCeC4+aEM3PUsFiwK0+Kho/i6?= =?us-ascii?Q?+d0y4lHlHdBhhyypzHhuXNinroLZDZxOhNHVkJXzHW5di0tcbqzCwxZRKEkD?= =?us-ascii?Q?4ofSdvLE1QSSpaxaHLRFrK2//tRrqLyubXE08ZegxsZJmKtzg9u3w1g9Idih?= =?us-ascii?Q?kGo8h3ll7YSwxwBMJjnwrOqSpCFSy0dHafC92AD3fxAtnlSyAEOBL98M044C?= =?us-ascii?Q?N6RVxeiw4YvdAgPcSMfooS/zg1o2px3w4x1lYvwj6f8EV2cIE+6eL5MEHRaU?= =?us-ascii?Q?ZkU8BykmYH5fwnPfujZU217Oior79FW0emgjDt18Wl2VYYNtBfCS7QX1r/Kw?= =?us-ascii?Q?Bs6VeZRwUgbob4U2ChVBn3BZpjKIl6ArhF4aj/ZExIDV1HpEX3h+IwCYNln4?= =?us-ascii?Q?/mV7mkNKpEz8WcjkZa9np9JIrsmIdHY8fyF/LNpicFx9Hs+xpJjZEw5GltQI?= =?us-ascii?Q?f04nshfG5wKDdlFGBUs2VlkVkdQR07vCnKG1GzHGRTCsbnpxUQ4m7iZq5XE8?= =?us-ascii?Q?zMbkrz62tcTc9+Qp317TiHKsDuD3nzWeOkru2X1tkdDl+v553WhbG8Cd6rRi?= =?us-ascii?Q?FR0cXFqxV8=3D?= X-Microsoft-Exchange-Diagnostics: 1;HKXPR06MB1013;5:VcDYqLI3PjB7HAOhBlERH2oyJiCxhLDjAZJhKXH8/syynardgZGfejMHl1lG6yS6fcassrJ1Lq7wfCsUW6uJEWoKC2NJfMET41B/qr5HmvlSfOK5oBSlaL0MTnX/McTbwebWwhf3JyZJEP75IEk7Hg==;24:Jp3RS0ZQItrMzuFtkqt+mRZLLcaOEwOM8rHbXOM5GO3ZwJncRPUwIfO8ZQFiZEyrK2o3tC9LfHmN29BdJRfcW2WkZ/UfMM88XCkMIOMlkwg=;20:Ayyuvf6MYlRVp8AStCN/rau04ypsNpXAPpoli9iDnIMmF2cMO/Jy2dWTQ/N3MNspMcqesRbModpoUcXucoAYwQew1NSfiipm1cAUkc24r4K6b0wduw8M7RKubxtwrIRWrDl1FMVhWFQB67cxI8iKd/zM0Ay7yZaDFGIwPvOC2tI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2015 01:18:13.1853 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HKXPR06MB1013 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kuninori Morimoto Signed-off-by: Kuninori Morimoto --- v4 -> v5 - rcar_thermal_update_temp() has no change - "retern" -> "return" on Subject drivers/thermal/rcar_thermal.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c index e9e4e39..30602f2 100644 --- a/drivers/thermal/rcar_thermal.c +++ b/drivers/thermal/rcar_thermal.c @@ -203,6 +203,7 @@ err_out_unlock: static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp) { struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone); + int tmp; int ret; ret = rcar_thermal_update_temp(priv); @@ -210,9 +211,18 @@ static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp) return ret; mutex_lock(&priv->lock); - *temp = MCELSIUS((priv->ctemp * 5) - 65); + tmp = MCELSIUS((priv->ctemp * 5) - 65); mutex_unlock(&priv->lock); + if ((tmp < MCELSIUS(-45)) || (tmp > MCELSIUS(125))) { + struct device *dev = rcar_priv_to_dev(priv); + + dev_err(dev, "it couldn't measure temperature correctly\n"); + return -EIO; + } + + *temp = tmp; + return 0; } -- 1.9.1