Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758362AbcLPVa3 (ORCPT ); Fri, 16 Dec 2016 16:30:29 -0500 Received: from mail-db5eur01on0117.outbound.protection.outlook.com ([104.47.2.117]:2943 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754496AbcLPVaT (ORCPT ); Fri, 16 Dec 2016 16:30:19 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Subject: Re: [PATCH] i2c: i2c-mux-pca954x: only reset last channel on error To: Vivien Didelot References: <20161216210843.26853-1-vivien.didelot@savoirfairelinux.com> Cc: Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, Russell King From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <4214d65e-7146-38e4-cb02-d6c947a51e65@axentia.se> Date: Fri, 16 Dec 2016 22:30:11 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161216210843.26853-1-vivien.didelot@savoirfairelinux.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: AM4PR0202CA0021.eurprd02.prod.outlook.com (10.171.80.31) To AM5PR0201MB2307.eurprd02.prod.outlook.com (10.169.242.151) X-MS-Office365-Filtering-Correlation-Id: 4eb94b13-8fba-4c1c-827d-08d425fab97c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0201MB2307; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2307;3:ilje1DM4rvi+fApabiesTH2mtNJy7eUZkYKIbpylovlcVw04+kvaEEhBMvPycjV3lJAgfvHmQ88V9EjbVji5f1vylBDVDrWTMppC+BMOr8iE4HOwnP4YWu6J9utss6POhJ5UOIGHeNjBXBpC6u/btmsWOV1qCLrciv+Wyc/1em6wWClU8Y2T6yqNPXw+HeO0ClqtMoDCCCexHydOQYI3fcXkG1LlQkl4yUdpBInLVGsEl47dMulIhOdXWuIv+r4zCYLQYqmfTmUlPzx1Vpf+5Q==;25:UNY+0J8ks/1MvIooc+LUiBkwEbuWurGFh4vdEhlhCQoS/jCgGDtr57H114jo7GPmXEJzdyuSUjg2w8fxOnhDATX6jFDrFZllfGx0JZVLAQTnTdgGbiKILJbb18iHWyjbkPwqgFHFrsGIbveeCkb2pAlUh+VUED1JTpgpJ7JjqILK+TU30cMGBR2O2M+zrHfmb59yOXdYsU31rG9Qw8Ui+r0RtpsTp3JOZdA7IRWinqgmov2up0LwNgzavcLNQutJIoZojgrTnQb/hNwuPeZFi4J40TUkvcAbzREvqedO/sxA+5AZBPTeEI5w8UcLijfg0BPmYdI6pbJjqJL9ZtpLrvmU/PtTuDdNW/QLe368x6qatBYtoD2HWr+rD30eLLIUrN412WyzkeM1AjVk4dv40HoMTOIzqn7bSKHHq4VOB4il1uEhP8K6wbcAmwbA7+mKuzmgBIWGWG8jLh2oIXiOdw== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2307;31:Et9VqL/C9nKbENnpG1SxI1AbNZCU8Rn1J2WebU3SqoJ+oDRpnTDBMmMmct3J118Ou3y78h4bEmQmwUswVTaSMElr0ByTZyJ+oFTDNha13eeE9VCikOHoA3nHJAlSHRJgl0aSR73Dodg84LAI8LxJtZTvYPsTz5nATackCx5lfwGgdK3sO72H1t4WATvyjPhdRKtH/931AmJGOFA0L52FLF9JkJR7zjFbgF2MZEBlmtuYvCvcA7dYpVDriRVxyaUAFw4e5wjqZGJuSQXmDo3UQw7weKv5p7kbsqZ1yPjUXgrd0KklnR253gtUCDjggbds X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(2016111802025)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148)(6043046);SRVR:AM5PR0201MB2307;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0201MB2307; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2307;4:xUXT+3G+0L3/ZBTp4npyPKgMUCYNhpJNOVxYy3W2JRCq1fDnbpknPD6npaIh4ujqoQAVmTz4eyC85hsRSe8WjKx2bWPg5TuxwKP1SJERvRadEL6nlKlaD9s3gM6ZGuDmedOyFiO5OSJiSTpuvGrkIu85LkdO06e8q/XhV4+7pNzshneg8ywbpDSldbFt+7hONm1Q88rg02+s+Dygd0gwS6UU1lofkgldKsjthlC3DT+d6jc4V3z/AqR175tOuqT5rAUfnOczGznkh69p1xsjzzk8K6DvVq+o398Jd2gl3IPkPDBxY09+xk7EeFuabqFQczRN3z2pp0OH9CFr4AWLgvUIHVeWtLTszQKfIwCKCt48mdJRbR78bzecss3iQ5VKR3Pzh1PaiDq+9R1c4slISv6BU5/uQ4uP4VNCtv5klJ6Hlg8XdxBMDWExP9kHMU92X2iZ51hs+4tbc729i/GRxzw7cq2NWySEpeNooDVR90TmJYd1QID6AT6R1vWBsTTknU2XhySKLdRdCmgMLxmIlol0+0CU2D83WhTH4eRE4B/bS0iDeu09kEcxHvNwNE1OKCl8BFuwsaR9c/yNYmBEuG047voXvZ1PTMoC/e4NC1m7Zd2BgtBSZPPuLmlLHcCo X-Forefront-PRVS: 01583E185C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39410400002)(39450400003)(39830400002)(377424004)(189002)(199003)(24454002)(51914003)(83506001)(6486002)(97736004)(105586002)(68736007)(77096006)(54356999)(74482002)(4001350100001)(76176999)(4001150100001)(90366009)(6666003)(6916009)(2950100002)(110136003)(31686004)(38730400001)(229853002)(189998001)(101416001)(50986999)(65826007)(5660300001)(106356001)(42186005)(4326007)(2906002)(65956001)(31696002)(117156001)(3846002)(8676002)(230700001)(36756003)(47776003)(6116002)(66066001)(230783001)(33646002)(65806001)(25786008)(81156014)(64126003)(86362001)(23746002)(7736002)(92566002)(50466002)(305945005)(81166006)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0201MB2307;H:[192.168.0.125];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM5PR0201MB2307;23:jgjGuNuuXl/LNjEc3X33C4tfsqFrVl6jCcZ?= =?Windows-1252?Q?LtHa6EAGvydQQM5dfDbwhUDObSl61oLSY6DvySfW4ART3yic6VFPPjfv?= =?Windows-1252?Q?TwReawh6uRcruqltkneijJwxES6WqhYWG+ZTBVWUvr22/msL5miKgOXg?= =?Windows-1252?Q?qNY8ZpJ25myhTb1Wxx62vqIjXHy1pvKU8NotvEDwtmYRUMDDstU8hIDF?= =?Windows-1252?Q?TVYYOm0ufGVl/UU1UdHRJgigcyOyUS4ToKmFZ9TRM3a4NgLp0GbKG712?= =?Windows-1252?Q?JhUiOTxdDW+6Lg7d8Je49qKXv16pTD1yL/pmvgF5dTdaEnK8xOqpvIFX?= =?Windows-1252?Q?fuKwnkM6kE7CuI1JhMgJt5VZMZlU76BAs36XSApU8UlZlri7W9rH23T7?= =?Windows-1252?Q?BNZBuGsjwid4y5xGNxK8NAshVdXalQI19etNhVdZkcNdxVC3xfenFNRA?= =?Windows-1252?Q?Ui9rK9eqAwRtoj6CmbYJdbvRLndbSk2c5T25rILWGSWmJlXvMruJaUml?= =?Windows-1252?Q?xuu0ccGoJHhtnFGISak25G/7S9xRTBpGJRBsyCvIXtN/t6mQUvPJx5mF?= =?Windows-1252?Q?bZpEYRCKeIPVUal3nqQzMkJzEawscdL0Eo7GpprWJw+VHjQTi2auHR96?= =?Windows-1252?Q?YSZeJXKAN6C1nI1VveFJqOaCXipSvSZOWX+DWbsipIRTp9NXzWkoQ5d3?= =?Windows-1252?Q?O6s9KiK/+1/oJHoIrbNx7IVNI+Ed82yxEiYy8apwcbK4t0CSkgXomGvC?= =?Windows-1252?Q?9L99hHk3BUeSGHBl02hBZ/alLrlH3xNJhpFh27Otm3DnN9CDwwPpsjps?= =?Windows-1252?Q?xy4WLltwzUl4HhsU9BJEsKp71nonfxbzcstNzhXtW6BpAMd5R4AA/iHT?= =?Windows-1252?Q?Gx8615OS+DLuiI13fbYYWIrqfb0FIeZUq9mTqqDDqR1KbthX3XtVnybA?= =?Windows-1252?Q?Ey0E4OoIuGBvsl5MSwPGSVfu/6gMceau94a/0B22nJCcXkp8baPA7L0O?= =?Windows-1252?Q?n9y0iiO12f5AM2/mFVZa41dL+LW3Ev9oP4vcBw2wb7QWg3KxKztGinmi?= =?Windows-1252?Q?RGWysH0U90pMDlSY1XFEGVs8oEt3g5TLmEgq0LGTK44k2/xRVimAK9Wm?= =?Windows-1252?Q?XBb16+7YSKyuMI+AURJ/H/8VXBw2/xB1vYCEfFZtOGYhzr76Sn5cNebs?= =?Windows-1252?Q?Qdu7RzTj0ru9YsP7QVuu4S2wU3eaG95uaoELHhEVqqFzqFn4VB1u0bJi?= =?Windows-1252?Q?WG+/KNo+Vc+TIfeJrqfN9SqZwcLDzX7IP+Kuq9ylzWXd6cxBg5edYHoW?= =?Windows-1252?Q?YAAHukzQq5uzmZ8c2W64YBR6OxAeLhUyCI1D0qrXU2pd/o6qh8AByp9m?= =?Windows-1252?Q?RKKvWq+Vz0907sOQehzhszzu6ITVZqusP/Ed7jIFT/FZ8mOBa4mk4IFJ?= =?Windows-1252?Q?99rktplr5bvk6O81rWJ8QUlRYzqC1TEyMWiCQ/8s0TwgZLEXdIGT+1XS?= =?Windows-1252?Q?IuiqUU2jVZMYhVb/3K1IXgz/y0eRelGRAnI7G42Bq2p8QOOjP51102V/?= =?Windows-1252?Q?9afLi2RaB77oWoTIX3/oVNYb9qg22VyVG60h/u+rZr8banvVdusTz1ME?= =?Windows-1252?Q?E+503pFrgmUvmOYNyBCYTKBEYuQKLF8AAhS6j9Ml3GRXs?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2307;6:7lS7GPDQM20Nzr5ae6iIYE8v6XuLtVuJy6GewPj9/PJXnFoO5YFCPAL2d7UpBUCzrsFR1qpzZiL/5bmVIseZA0U2n+QIwa/Kvb3fHmXT+l2CXDD8aW3R/gSe8Yd2A21Ny0g9SnrhDbc7GmQYr/Hnb7yZ7fUWpWVPBmHqLnWiKVSx3bfoq8L97baGlMEfVswOOZSnu1jfDDwO/xEMRtTK5fnzzhipw1CQ3ExH2nMW+8rtjhQoyzBfULebz/yuJ2barunRAhDI5PXyiPnkZYDoAvBUc3YEIwyUQg3RRI4vCNBujzYxhCUkccNqPdmjGc5Zb5rKm9wySm1Apot1TvhHbpasNAJErS6qSJvzkHpul09hngaAXXR+Lr/oLS8P4ZAvCRKcKqMvvZavL0SdufhZplEt370O3iCQLZH6LH9EFPKjGM/gCCmErVIoa46J8+9i;5:psrzGUPR6hWW6VMuyorUeeIKOBkMqXmDtQRWAtz1eHdJgs61+/7N1g56ojEMzvvBV04N/iKi4o8lIAhibMeWDVgWo/eZc7iPccVVLeZBmB6x0JWY9wGvDUQKAWheVORzyPpauIwezos4kT5iuBxuOw==;24:vLR/zGvd6EyF9sKMlZB90Gk1IcCkfa1C1mt7MqR/exUpX0dFBVxSJxYC84cb5NeST0EWtVeI8qUF8eyNIPD3kOroGC784SEd7Qcx2gH3EeY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2307;7:KyMcp4N+VF5advA8kf5+dac11JtJMJnei2QVfxOJuc3Hq0VQchtPEYmAedW2Zc/apIgoNbqDwTwA4IH5gDo+XusEDedkqvKtcMUuif/ovVdtykXXaeapcI43hwQgeR2juHaelQxim0lH+fbI/jHS4S8GMvxnqTNCPAAw86UPpXxymvf+2/3N5CdUXpTviWskPbn7shdz6/y+IuvOInO9ZEdcuR5+cLo+PHr/q1D+0Sy/rdsSsF8wgjPzdiB53sGV8Ak/uV2UUR1AUJ8lKfkUAXdjAJpRV0P0o5fVHbbKJi/ICBXuwztVNhkxi9haeCpaeFv5r0sYJ/0b0vP9OFYYNz/d/QTwTdU3jCA+NGqmEmVW0IIvwFGq7Ig0UR9eVIDrkme9a5wjEFAuuHvAZ2NR0Y9h2nvTS8F1zIHRvHZkQQE112kdRhZ8f+PTxXz0byMVEXBIUyr1/jJ5ELGAY5cXHg== X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2016 21:30:14.0341 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0201MB2307 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 902 Lines: 23 On 2016-12-16 22:08, Vivien Didelot wrote: > The current code is selecting the mux channel before each operation and > does not benefit from the cached value (data->last_chan). > > That is because pca954x_select_chan() considers any non-zero values from > pca954x_reg_write() as an error. But this function (via __i2c_transfer) > returns either a negative error code or the positive number of messages > executed. > > Only check "ret" against negative values to restore the caching. > > Fixes: 463e8f845cbf ("i2c: mux: pca954x: retry updating the mux selection on failure") > Signed-off-by: Vivien Didelot Hi Vivien, Thanks for the report, and sorry for breaking things. However, your patch got beaten by an hour by Russel King who sent approximately the same patch. I had already responded to his message when I saw yours, so I did not Cc you. Cheers, peda