From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932367AbdJWNrF (ORCPT ); Mon, 23 Oct 2017 09:47:05 -0400 Received: from mout.web.de ([212.227.15.4]:53559 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932245AbdJWNrD (ORCPT ); Mon, 23 Oct 2017 09:47:03 -0400 Subject: Re: [PATCH] tpm_i2c_nuvoton: Use common error handling code in i2c_nuvoton_send() To: Jarkko Sakkinen , linux-integrity@vger.kernel.org Cc: Jason Gunthorpe , =?UTF-8?Q?Peter_H=c3=bcwe?= , LKML , kernel-janitors@vger.kernel.org References: <6d2dcc64-af7a-fb71-f863-10d30914269e@users.sourceforge.net> <20171023133813.3xflw4k2npydp26c@linux.intel.com> From: SF Markus Elfring Message-ID: <65bebe74-587b-eb5f-44f3-2e354fd2b82d@users.sourceforge.net> Date: Mon, 23 Oct 2017 15:46:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171023133813.3xflw4k2npydp26c@linux.intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:surHBuzjDnMh3HL49G0IhXQ4jdK5QtW7e6g04div4nbdnR246Mi sz6FZQC8grugR3VI8bWM1T4aXlIDxalnZikitNBQXIjFHe8DDMUgVoa+yOjcCMVrG4HfktE jy9FJ5bVUZNHJFv8cIpe9ucD3H4iRpooh76n5IxZHjsue583QWV4ziS8oZqfAgRZ7yTLEro D4GAJLwMmDvyGFuye+b6Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:ACtOulexmDY=:1gtThJ3B45DhFk8SRfvVpt ofodpjkwIVRi+05BY5beedH42DO5v0o4v3lJgT0MoYxSVEPP7mA2NrQ4YsIa92Eq80A6Rb9XT u929GaLFWMTgHVC5PkUNpfY384rLTIIaq4Gce3Nj6rLYwW3IDjx3YQBRsGNKrx4zMvJWbkmnz vv68qmUSOZgkQSLYK7S3skvDJC4S/NX8YJwMAxsnfCuTqy3KRBY8x/XKD2z7OPlPPZlk1zJSi UuvmkkU76IizJZVYVhZfWxYRGeCzbsychg+GqL6Lvhfr6GWAF4AMcUjnxb2ttH6Sev4tBRJ3p LXu7mZn8OJs0Bsx3moTcwp+nN22tZ2A7qjtnlFOMHvzWywgNqB+44azL9mPoT8GqdjYR/yUGZ 7caDMhNtXBhalAc3qTmgVDa1bJza9lNZmI0raC6UTBegR10b1BDP8fvtEszy89ZKuRVgpwv9j m23jGMTGuFwatq6FmLAtENUZHZKjpyov+nd5fNY1EE+hVidoPIcS8izu6XEWmEgIO6od86Okf 8ulAI78Xwre99N676tt5RDTBuJo4lb/luRt7Kd4B41JkSKZTc3KLj3ohRZR9silDfgHSkow3T Rt5ClCf0mTRZh2ARn0zylazH3XOIz+mAc++vmjaKhtU//JLVZRtG7B9mDXS1mxIiU/TxeP5L/ 0fBs6Aw5N0jbKxlKSN+Dd8+G4acM5KyUN3C9D0Y3LlPyHx82CIvM3a5jxRNl62IHRl21hsVX3 T/mya5EAtFAKmmu6qg00XE/cVyZf473Eis+l+9g4UjDyQiRv5hD1CSVj+5vuPFu5q/Q5Kkd2t Jp2/0AtRKczbdLlAwdCeZiuC3ok8rUeP+4D3LBFKNvaGDIDBCo= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> @@ -457,12 +455,15 @@ static int i2c_nuvoton_send(struct tpm_chip *chip, u8 *buf, size_t len) >> &priv->read_queue); >> if (rc) { >> dev_err(dev, "%s() timeout command duration\n", __func__); >> - i2c_nuvoton_ready(chip); >> - return rc; >> + goto write_ready; >> } >> >> dev_dbg(dev, "%s() -> %zd\n", __func__, len); >> return len; >> + >> +write_ready: >> + i2c_nuvoton_ready(chip); >> + return rc; >> } >> >> static bool i2c_nuvoton_req_canceled(struct tpm_chip *chip, u8 status) >> -- >> 2.14.2 >> > > Setting the commandReady bit gives means to abort the command. > Setting the bit is not the end goal. Does your constructive feedback mean that there are any more implementation details to consider besides the suggested code layout adjustment? > Use something like err_cancel instead. I am unsure about this suggestion. Will a simple replacement be sufficient at the end? Regards, Markus