From patchwork Wed Jun 22 01:10:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ed Swierk X-Patchwork-Id: 9191643 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 359D36075E for ; Wed, 22 Jun 2016 01:11:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 25E6B28365 for ; Wed, 22 Jun 2016 01:11:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1A8BD28383; Wed, 22 Jun 2016 01:11:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from lists.sourceforge.net (lists.sourceforge.net [216.34.181.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B6BD528365 for ; Wed, 22 Jun 2016 01:11:02 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=sfs-ml-3.v29.ch3.sourceforge.com) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1bFWh1-0002fU-K7; Wed, 22 Jun 2016 01:10:59 +0000 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1bFWh0-0002fA-3Y for tpmdd-devel@lists.sourceforge.net; Wed, 22 Jun 2016 01:10:58 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of skyportsystems.com designates 209.85.192.181 as permitted sender) client-ip=209.85.192.181; envelope-from=eswierk@skyportsystems.com; helo=mail-pf0-f181.google.com; Received: from mail-pf0-f181.google.com ([209.85.192.181]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.76) id 1bFWgz-0001XH-BH for tpmdd-devel@lists.sourceforge.net; Wed, 22 Jun 2016 01:10:58 +0000 Received: by mail-pf0-f181.google.com with SMTP id i123so11845757pfg.0 for ; Tue, 21 Jun 2016 18:10:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=O4Tj0NWSO0mM9Wc38e0Qdulxf5bmpMgM+DvBuc00hZk=; b=O2l6+8C9Mudj7SFGxL8nv6zFIa57mRpPmOkJQU8jWlJ3zi5sksmJwn/ZqbJKa1V0tX XT0SmU1ExgfWLGR/Zbf9EdHlXOw0XyIYU6yxdxNLG0T6MSRiX99mBqnRg483EJk/yWkh cLolzdgeT0/ubB3RrIv9pKyZ69tVp6D5T/MlpPdLIt/nugRdrPUxo/4mS4Ck1D6AZPXL 4LUejcdryD9r70YTnSPv0wsw8Emghv31ZsBvB6hyRvJXFEZs9pymvK2aXzCtBXv7lH29 AWxz51y/aGVSWoYRL32dTG1gT9vN6BfPUuP9V37d9tM8ncTFasSmAG4Pv45yhfHsCoN9 ecLw== X-Gm-Message-State: ALyK8tL8u8ynGdADiiTt2tIEKUjjYwdrqeJwJ4x/E6GSzBZTxlKnWkTNDZesPHgzebyjLawf X-Received: by 10.98.61.131 with SMTP id x3mr24654192pfj.115.1466557851470; Tue, 21 Jun 2016 18:10:51 -0700 (PDT) Received: from eswierk-sc.localdomain (67-207-112-138.static.wiline.com. [67.207.112.138]) by smtp.gmail.com with ESMTPSA id g26sm74800523pfj.82.2016.06.21.18.10.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 21 Jun 2016 18:10:50 -0700 (PDT) From: Ed Swierk To: tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org Date: Tue, 21 Jun 2016 18:10:27 -0700 Message-Id: <1466557831-113440-2-git-send-email-eswierk@skyportsystems.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1466557831-113440-1-git-send-email-eswierk@skyportsystems.com> References: <1466474042-110773-1-git-send-email-eswierk@skyportsystems.com> <1466557831-113440-1-git-send-email-eswierk@skyportsystems.com> X-Headers-End: 1bFWgz-0001XH-BH Subject: [tpmdd-devel] [PATCH v8 1/5] tpm_tis: Improve reporting of IO errors X-BeenThere: tpmdd-devel@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: Tpm Device Driver maintainance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: tpmdd-devel-bounces@lists.sourceforge.net X-Virus-Scanned: ClamAV using ClamSMTP Mysterious TPM behavior can be difficult to track down through all the layers of software. Add error messages for conditions that should never happen. Also include the manufacturer ID along with other chip data printed during init. Signed-off-by: Ed Swierk Reviewed-by: Jarkko Sakkinen --- drivers/char/tpm/tpm_tis.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c index 65f7eec..088fa86 100644 --- a/drivers/char/tpm/tpm_tis.c +++ b/drivers/char/tpm/tpm_tis.c @@ -299,6 +299,8 @@ static int tpm_tis_recv(struct tpm_chip *chip, u8 *buf, size_t count) expected = be32_to_cpu(*(__be32 *) (buf + 2)); if (expected > count) { + dev_err(chip->pdev, "Response too long (wanted %zd, got %d)\n", + count, expected); size = -EIO; goto out; } @@ -366,6 +368,8 @@ static int tpm_tis_send_data(struct tpm_chip *chip, u8 *buf, size_t len) &chip->vendor.int_queue, false); status = tpm_tis_status(chip); if (!itpm && (status & TPM_STS_DATA_EXPECT) == 0) { + dev_err(chip->pdev, "Chip not accepting %zd bytes\n", + len - count); rc = -EIO; goto out_err; } @@ -378,6 +382,7 @@ static int tpm_tis_send_data(struct tpm_chip *chip, u8 *buf, size_t len) &chip->vendor.int_queue, false); status = tpm_tis_status(chip); if ((status & TPM_STS_DATA_EXPECT) != 0) { + dev_err(chip->pdev, "Chip not accepting last byte\n"); rc = -EIO; goto out_err; } @@ -689,8 +694,9 @@ static int tpm_tis_init(struct device *dev, struct tpm_info *tpm_info, vendor = ioread32(chip->vendor.iobase + TPM_DID_VID(0)); chip->vendor.manufacturer_id = vendor; - dev_info(dev, "%s TPM (device-id 0x%X, rev-id %d)\n", + dev_info(dev, "%s TPM (manufacturer-id 0x%X, device-id 0x%X, rev-id %d)\n", (chip->flags & TPM_CHIP_FLAG_TPM2) ? "2.0" : "1.2", + chip->vendor.manufacturer_id, vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); if (!itpm) {