From patchwork Wed Jul 10 09:23:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ye Li X-Patchwork-Id: 1130292 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="ZyrzCFDf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45kDK00GwGz9sN4 for ; Wed, 10 Jul 2019 19:24:03 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 9F1C4C21EEF; Wed, 10 Jul 2019 09:23:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id EAA0DC21E30; Wed, 10 Jul 2019 09:23:54 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A1C04C21E18; Wed, 10 Jul 2019 09:23:53 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80052.outbound.protection.outlook.com [40.107.8.52]) by lists.denx.de (Postfix) with ESMTPS id E7AC6C21DDC for ; Wed, 10 Jul 2019 09:23:52 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OM9iTo8pK2+b/GnqB6lP7juGzi6LiEO7S/26PDOZ4E7EICp8z7EPmv0ydPBUZA+9sZCuSWUIkDs1d1IAyffG10p9RsMHrtIhGZI4LEVV5KjXFiO6AmI0tLP4MCFSPtEjWq/QzuZJA8t7JRrSH945OopAxlmBrT5iwkwDY24lhpqi+8dY6JUw5fLi1uKojw59jWdVNqLLORDCCD9UJ7YL8TvjNz/mrsuEjBY9sSrNeUOpp052EhCy67/tXSYzUkL1pKxdhrXe0c5oDTPfK5ECZW2Cd7A7XZEwyM1tPbetQSs7HcvsB37kgTqjE14kix6FfGlQ6cRTqD4ljLGatjJ6eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XnIrWi4J9MG4PEaRN/dSrGyuHCZ9/Pf72ugqzJJjZqk=; b=OOogJdtIYmz9Ol/rosqGsngaZDoqr+hTJHVqrU+wmGFAkqmnqVaYRmlbicFmsGXsBzKV4cODx6FmkUdxvYWBVV9lsCiEDBa3drYEkZof+bM/plMnsad+77DRwE2susgOu+Lf0ESqUWcgHWuCqHD+c9RC1AH+DiAfdu+oVIc/aua87+1WAXnwyHimURslPVGjE7+jYN01mE8GWXQXkmJwQFqWCSScwqvRZloip7xm/3kcAkin18WMxFWecSk8TE2frX8pEhGBtedNV4OQBHPnRUpILUqF6AbxXBv6JktvGgGMb1qfexf6NVFSCRe+F6Fdf1MRBlsVeK8GiPo2dhXEGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XnIrWi4J9MG4PEaRN/dSrGyuHCZ9/Pf72ugqzJJjZqk=; b=ZyrzCFDf/XGl4xI22W2AoeSyJvB6ghWRoddL2NkV8shTSrKYdokq/64wHBYO7W6DbmSsY8xJfnbcp2HxMCc73/hfxyBAvnjAg4JP+0BNj79HXC14wl89QCpdZX8JFVHkSm4mLvERjMNFW2V9FHWX0ggXbyyn+Vwo85nCL5/wEDs= Received: from VI1PR04MB4414.eurprd04.prod.outlook.com (20.177.55.153) by VI1PR04MB5455.eurprd04.prod.outlook.com (20.178.121.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2073.10; Wed, 10 Jul 2019 09:23:51 +0000 Received: from VI1PR04MB4414.eurprd04.prod.outlook.com ([fe80::6517:7774:1033:6466]) by VI1PR04MB4414.eurprd04.prod.outlook.com ([fe80::6517:7774:1033:6466%7]) with mapi id 15.20.2052.020; Wed, 10 Jul 2019 09:23:51 +0000 From: Ye Li To: "jagan@openedev.com" Thread-Topic: [PATCH] spi: spi-mem: Fix read data size issue Thread-Index: AQHVNwEw+dhpe6+T5kKwCZZtVGOrbw== Date: Wed, 10 Jul 2019 09:23:51 +0000 Message-ID: <1562750607-44125-1-git-send-email-ye.li@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.7.4 x-clientproxiedby: HK0P153CA0005.APCP153.PROD.OUTLOOK.COM (2603:1096:203:18::17) To VI1PR04MB4414.eurprd04.prod.outlook.com (2603:10a6:803:6e::25) authentication-results: spf=none (sender IP is ) smtp.mailfrom=ye.li@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.68] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 477312f9-adb2-4745-ec4e-08d705185244 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR04MB5455; x-ms-traffictypediagnostic: VI1PR04MB5455: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-forefront-prvs: 0094E3478A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(396003)(376002)(346002)(366004)(189003)(199004)(14444005)(256004)(186003)(99286004)(8936002)(476003)(86362001)(44832011)(486006)(26005)(71190400001)(6916009)(71200400001)(2351001)(68736007)(478600001)(316002)(66476007)(66946007)(54906003)(2616005)(14454004)(66556008)(66446008)(386003)(64756008)(6506007)(6116002)(3846002)(305945005)(50226002)(52116002)(4326008)(66066001)(53936002)(5660300002)(81166006)(81156014)(1730700003)(7736002)(8676002)(2501003)(6486002)(6436002)(6512007)(5640700003)(36756003)(102836004)(25786009)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5455; H:VI1PR04MB4414.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: /iR1KjA/QB06TvUAMvRjxUAkS6Q7GeyeSG+wiqotUf2Jdn8Eol0x0JFXG5VZ7EqlSFv78WpzAl8bSieKPvuXH6l7aSWvQ5gkkjj2S6n0GxLwOM3X8kU9e6xmEb/QNS+FBbBubmk6E7qju/e4hHhqy4RgquT8JeyMRoDoWm87R9o9UxNoVu+pdvG635BzdIF2mTv5Z8Y4C6s3A+yso6sZPdeCdNV4oYqHEnk0hc5uz1lBxb3C1CxKT09rnL9iICy0Ok7FClv98T+hEMNs6w2ddxYoDKyftthc86mQheBcBJiNi4rLJRv9dvbRVstGo4Cha4RE7U9e2YFRWNFF26u7JFsSNiaN7Z0pkGcmfiP48SXw+rQo+KMIiB6iHA+rBvh36xaJX1qrZI/Vnzf5ZLcBrEwFqTDtSDF7Ka0VQYEioKE= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 477312f9-adb2-4745-ec4e-08d705185244 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2019 09:23:51.9463 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ye.li@nxp.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5455 Cc: "u-boot@lists.denx.de" , dl-uboot-imx Subject: [U-Boot] [PATCH] spi: spi-mem: Fix read data size issue X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" When slave drivers don't set the max_read_size, the spi-mem should directly use data.nbytes and not limit to any size. But current logic will limit to the max_write_size. Signed-off-by: Ye Li Acked-by: Vignesh Raghavendra Reviewed-by: Jagan Teki --- drivers/spi/spi-mem.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index b86eee7..be440fe 100644 --- a/drivers/spi/spi-mem.c +++ b/drivers/spi/spi-mem.c @@ -423,12 +423,14 @@ int spi_mem_adjust_op_size(struct spi_slave *slave, struct spi_mem_op *op) if (slave->max_write_size && len > slave->max_write_size) return -EINVAL; - if (op->data.dir == SPI_MEM_DATA_IN && slave->max_read_size) - op->data.nbytes = min(op->data.nbytes, + if (op->data.dir == SPI_MEM_DATA_IN) { + if (slave->max_read_size) + op->data.nbytes = min(op->data.nbytes, slave->max_read_size); - else if (slave->max_write_size) + } else if (slave->max_write_size) { op->data.nbytes = min(op->data.nbytes, slave->max_write_size - len); + } if (!op->data.nbytes) return -EINVAL;