From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754410AbeARFj7 (ORCPT ); Thu, 18 Jan 2018 00:39:59 -0500 Received: from mail-by2nam03on0078.outbound.protection.outlook.com ([104.47.42.78]:53632 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752184AbeARFj5 (ORCPT ); Thu, 18 Jan 2018 00:39:57 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=George.Cherian@cavium.com; From: George Cherian To: linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org Cc: wsa@the-dreams.de, Dmitry Bazhenov , George Cherian Subject: [PATCH 1/4] i2c: xlp9xx: return ENXIO on slave address NACK Date: Thu, 18 Jan 2018 05:39:21 +0000 Message-Id: <1516253964-4615-1-git-send-email-george.cherian@cavium.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BM1PR0101CA0047.INDPRD01.PROD.OUTLOOK.COM (10.174.221.33) To BN3PR0701MB1703.namprd07.prod.outlook.com (10.163.39.157) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9073ca32-a554-4289-d76d-08d55e35e6b1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534125)(4602075)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020);SRVR:BN3PR0701MB1703; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1703;3:5I62/Ch7coa1yk08F68H7e1w9fSNzeP6wu4mKnsYDJasG8uqZ+YzyaY5Tld/jVDCLyknWGCcFAe68c1//vMsY49DCzmAc5wTc6dcbPtfeTG8MEJSTHph4dKpVgMPUK09ZFYg211Ai5I2B+MTIneBrEXgP1UgiDiqQ28EUcYKZiMoQFlKXLdcw7EPJkG6rLo9eFIONYqiJUkFjN7p3YL0uCIjNkw1MzRZ1iV1KtpDcUSgL66pceO/5ZivKUYJSr1d;25:TbKIeN5EIqVaPJJZaX5MHuP11w9WTZIX/Z7JwFH7fEWxCxrdBj+dL13+2iid9M3FdxA9lQ68iYl6AFHRgKPWcFGhh2WFt3RNHifo594wc+zVrMqqF/0HCa6xwJFFIxSui4t7dr10mdpxFA+E2xB8szlYLbb02yLnsOx3DRslSwbtyyglHa032ZRSC4EiNZ0u03k4iNWSB4CNmGZWczBOfF6rT/iMORVt1hhOcT9O4Sd9MUDU/eiFNU3xyhyjiNmuYrbWJD+SyMLXdZ0bI4+vqzFEVlo7wzBMlYAdwetRBTqQ2PAT7LrNk9j1IBjofOt97MDC+ViqDh1pYCHnmf6QJg==;31:NmYUee6MeWIhHo4O3s8KOrO+j6lOBS+31wd4WaF83kvTC8ix4g8F4wYscMwILk21VyMMe7VDNB32FkDkMJZoVizyuG6J1KhwIrJocePBMj/6Sl6dk1+Eu7P7P4AVEDPzBvnO17ac0r3Y4Na7iOPqIOhfvBzle7XyWv34b4oUb40GOv/C7dyvMp/vl9DMjUMh+KKOi/EL8tddHDnAzjCBWhxOUf0YdvQ8xZpISdteDkQ= X-MS-TrafficTypeDiagnostic: BN3PR0701MB1703: X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1703;20:siwn06jWpzROYKNmb6jYP/87l3cwg18mFGJeSTLTTo7JcNYheX7l68Fx3hkEY+W3pp1nqomtoeqHWA/3/fBFXhyhNkTSNQXYZ2DU1CQEwpichFNM1Nb/G/J/9jY4Jt9SO/6FLFHwrlpuxEWkkXINVlN6HoqBu64sNJXLrMidT1zQ/IFu96czcdt7zanFboM97MjWZxA+V2fU8zrVK7aFRRvSCD8fJStzoderds4ZpaPEJzKc7IWRDq/Jxs593nvzH+o5OCer3X+v397BADXvCESmf8qw/yV0mNe6KFcMV3nBtxSWqd4sxc+VtgIxAvd/59nMehr3Idy/SHICjM0pNZFtSWqagPrvQjPCvGMR5oGShd2rFP8j9vGj8IiLgIdikx4aH2Kbm3JPm8Wtp2wDdg8lN8aCgIR5RNTxcCuxVLcaRKze+dDYtjUjkZxZSOndqnmiIgvDbAOPjhkTwqCt1XP4pah9I4xTz6RvGBL+3iFN+zS1QingB3a9eOPT2z6M;4:qGomQExrhJKpEJ1mHVI3apscThMtbd2uEaDKADN9SjLOKOApdyUci3hgckS4cAXCnIZivoJJ2rzt3qUSQDVQ/sIhrKA+vzQ4HCqoVH85KiYSo6b/rncF9tMvrEChEgQZFbF8XTRh+bLaDXtRC+H+XzqLnftGHq202y6xvpB6DKwYiK4MnExHUCL8bfNdyErOpgR0OS5WTXCLrZaitZfW0T8yL5SLnnF7WJqC2/OjCtCKX6pY09vFw57OyqmVC4xcOBjOgaZiVQwZTYxkAJp3Gw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(2400056)(944501161)(10201501046)(6041268)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:BN3PR0701MB1703;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:BN3PR0701MB1703; X-Forefront-PRVS: 05568D1FF7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(366004)(39380400002)(396003)(346002)(376002)(39860400002)(199004)(189003)(107886003)(6512007)(316002)(48376002)(53936002)(97736004)(69596002)(25786009)(86362001)(26005)(7736002)(478600001)(16586007)(6486002)(72206003)(6666003)(106356001)(3846002)(53416004)(8676002)(81156014)(81166006)(105586002)(5660300001)(305945005)(36756003)(54906003)(6116002)(51416003)(59450400001)(50226002)(6506007)(386003)(47776003)(52116002)(68736007)(50466002)(5009440100003)(66066001)(8936002)(4326008)(2906002)(16526018);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR0701MB1703;H:ubuntu.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR0701MB1703;23:8SZf+/uiAZvtaLJlBhVrrondCp0UdCyYyrBGLAj?= =?us-ascii?Q?tRfjLoSwMnG3q/IlgWPcb0hMzRtE2feLrYd0WQkYALLsWu/ABnK5U2Cr2Tvb?= =?us-ascii?Q?MIZI4JNjkrQ2uHIFfisRiAC8/RHyykkLMP2Fr5vCLhIxL6P4TGh9/wxiwtRf?= =?us-ascii?Q?OX1z870xuGNyOcUZMkCuLMS/NVo1rqhpPXESqgYjWCCGVhBcncfSJyGt1WUO?= =?us-ascii?Q?RPt3L5UNxQbWMiVa+4y84/PwnDj7uKdfIalFTIdUTFTUOET1LfAZ73MAwdRS?= =?us-ascii?Q?no7SSeSQ6XlKLR9ECGt4iNMcCF8lJW6mMqLJwMuDHwpEk+WcuI2hLF4Fynul?= =?us-ascii?Q?qFyjEX90jtQnoPoxd3hH1sujtFUnqofOasO9RxuxHTSnaWKcO7/VSFfyfmf7?= =?us-ascii?Q?tRZfcTPSYww+rerfROf4jUOncJkr4Jyo5oIgWZdlv4Adje/e1ca8z/koIeX6?= =?us-ascii?Q?BrYFMx6xcEyl1LQ0H3YvDx7UHM4y/+XtLv/DZQqE7IpFb4D+N4cLG2mtycRI?= =?us-ascii?Q?Kx7imJhnd/sAhxI85Fr9I3piv0m/4J8wslztLMm5QEvXyv6q02cDv5S9AN8P?= =?us-ascii?Q?y3cZjhBlz/8CBGHCSzitRH2IJQq1GPgYc+oxDbNh8RFFMgc2yoEPAzX3N2VM?= =?us-ascii?Q?FiPjEPKkocirnJHCCwaRCvt7rw7KUWrQqWyWYS2HU+oR/R7pYdHTBGmlAu8s?= =?us-ascii?Q?mkQ/IXEKYCcjwmKCuk+y0hgu4R5mWIcaA+W6Vfq29tEGiUDE4VvyH/L59mzn?= =?us-ascii?Q?A7SPdRrdzKjD1LndccgoNBqbPnt5J+lyX24H77XT+0o+R/8q+Qc2oHQVeY9v?= =?us-ascii?Q?b24aISonllCRcKq/cNlYfQ3DbUHaIXVtHQv0zyF7Uc5MluxU+Zp7Pd6z3n1c?= =?us-ascii?Q?HrPeyYmO2ElNbEeIMNmwAkeTs+M4L2Rh0Ic3C2mWbP7F5qgsPa56E2QOjG9j?= =?us-ascii?Q?TqcxzeHQnCRKSkDOJC2uPyshZmoJyoDkIL0Ve9idDi56I/Lc9Tabv1Mv+9wb?= =?us-ascii?Q?tvAFROcFeTVnOk4WJPjKBBxI5AoSwJfVYR/dmMv5QUPf/ojK/QIz9oYCX7fp?= =?us-ascii?Q?0JqQmVqvCBorDlxlRQJmp9GIySVwIvNt7+8Q8Yys+mFVJ3X6xXnG/7VlKvGo?= =?us-ascii?Q?gi7PUsG/KqXPdLHdQA11zeV3JhjDu97UgPgnz3ZrdsZBXg79Whz7lkZk3q7Z?= =?us-ascii?Q?Ukf2hmFtcCbxbzIY=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1703;6:/cF1MsfJAS/9TBEHi3D1U2xz+uXJX6STbBrNznyz+L0JtShcL3SqqFSS7jH1ssZ7vpycSDnugW9U5lDeagrRm+qWq5wb6KGj08YMSWyhFwLDTfkpzV/rDeoberx6Q01814i3RzITh7w2sN3kAn7MhDww9F3Kyq4BdGGOXTCQCYM2BwTxlwjV3nS/is4U4KjyXE4p+zaqmnDQNaRAx+pXWfiMkj1Q8znYHCmsqctZk5vN3bc1M/GwKp2Aj0F+ULNWtEv1PmyCp0GENO6WnV+pdKak6BX3ZkZum7kv/lB9CYI1AWZAH2dFqqOiuzfH+09ouV3azIqht8XltkTtmtodyoChdLJvxqPd0lPlTL853iA=;5:1V4m9kkVJkn401rGud2rUNy2zEOIAQr+an03flvBd4UWs2HuszDK1gAt44d3IgQ/+Mr0Zzq9xlV3SjLtav6T2OTVMf1VVarpbOLdIRWE1X8n/RTnig4GApGyXx2kN8c4q3PP19/+v0XAnP435RrshEiajb3aX7ss0WcEjkOj+fw=;24:kURI8Wppcy5VqUAuYdwrsH6lJYj0zE7sZA76S7QLkNhGPQ85AoQr6vWFA2L1tjufUmHNisSVY6YKE76r6CaCazBWdneHsobQywR+EDXhUsI=;7:oDrIU7Y9IuZb9nTCqwN4CWt0ad76YeRsCgusCT9ziGdyoy2JeOejDv+CwSnC7ltcK3Ah/62MX2w+XQYsKqkUFI5ZYWouj9RvgJqWrVIzvqCdrdkUvUYA8UE148LPbhBkq50hT+bH21Meo8lp3bDU652mqB08PF01qoRt4nz05sfYjXPzvUTVNhasZN8YTkUFl2X/PGmFDbL1TaAJ6KYZnAKMvGBuf0+A6EJPPUTLAG/YWP+B7vpjDDWA80OfjYFj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2018 05:39:52.3703 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9073ca32-a554-4289-d76d-08d55e35e6b1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1703 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dmitry Bazhenov Fix the driver violation of the common practice to return ENXIO error on a slave address NACK. Signed-off-by: Dmitry Bazhenov Signed-off-by: George Cherian --- drivers/i2c/busses/i2c-xlp9xx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-xlp9xx.c b/drivers/i2c/busses/i2c-xlp9xx.c index b970bf8..6d78cdc 100644 --- a/drivers/i2c/busses/i2c-xlp9xx.c +++ b/drivers/i2c/busses/i2c-xlp9xx.c @@ -324,7 +324,8 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg, dev_dbg(priv->dev, "transfer error %x!\n", priv->msg_err); if (priv->msg_err & XLP9XX_I2C_INTEN_BUSERR) xlp9xx_i2c_init(priv); - return -EIO; + return (priv->msg_err & XLP9XX_I2C_INTEN_NACKADDR) ? + -ENXIO : -EIO; } if (timeleft == 0) { -- 2.1.4