From patchwork Sat Jul 30 21:28:24 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 654287 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3s1zHC4wD2z9sCk for ; Sun, 31 Jul 2016 07:28:39 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=YKKUxi5O; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 3FBABA7560; Sat, 30 Jul 2016 23:28:37 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6Xx8OkODDfBz; Sat, 30 Jul 2016 23:28:36 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4642CA74FB; Sat, 30 Jul 2016 23:28:36 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 57C49A74FB for ; Sat, 30 Jul 2016 23:28:33 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rAzO-2PTvSA7 for ; Sat, 30 Jul 2016 23:28:33 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by theia.denx.de (Postfix) with ESMTPS id 204F3A74D6 for ; Sat, 30 Jul 2016 23:28:29 +0200 (CEST) Received: by mail-wm0-f66.google.com with SMTP id o80so20662387wme.0 for ; Sat, 30 Jul 2016 14:28:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=69zbtXkctp0or4gMlDyhOgF2i0B4/niD5Qk5vUntDCA=; b=YKKUxi5OOIq01FvA2Wa8PllRrnuKECAlPS+/AFWJLbb/3Z24xKAeYSy3pM15+wOUIP wlAAL3qz68HI6YmcVRrnimSv86TCE2YZFFE61VDO4FyyR83Uv9qHxhw5k5vJAo2WRR4f SYS8eEMKEro2iC/wP0KEXONjS2g6sLB2E4/rSLE7tfUVv84nnUNMvqQmUyIYzuDoUlPG fZJkVJbkTlFYbY9vYiZA8/9tTBeiZvSlbAWIKA3K6c2J3n0EccJtuaxwb5mIdAlyZyIY at/5/7U9idRxNTS/JEW4SmdN/vVv+PNcQEPYt9aWXu0SstK3RohG1aMK53q5frOX0QHI FNJg== 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; bh=69zbtXkctp0or4gMlDyhOgF2i0B4/niD5Qk5vUntDCA=; b=J7HqUOZL1k/AG2LMacnptCZqWBZWB3+Us7VTKUbC+0Y0DEfTiOPxTC+mklF7dprvKK wluuclwqoAzD4dawijuu8NSzUG1s4mRyKs5BBb7ah4ELb6T4GXiCusX+m8G2doIgQXMv WZkwaWqB5wORcdje3rejrqZtmRO310sBgAcwj7Zij8eZpEXW/uVi2+nS0EOuzvrxR48z L5XjS4ia+AMUuFBelPhcP2ERY1hbzbYk1IcjVp4zVFmcvqkNKRfR4QGDOqZLo8j6GGuJ 2eo6c2atY81bh3QHlQo0wPOSH41UsdZHdiioGjX30XEjKSGXMtpOgJQMoSkWUYmn6ri2 2+Mg== X-Gm-Message-State: AEkoouu94/TFzsH39I/Mq8CHVY21Waq53UW6Q6QXZ8JyYZYDX5AJg5PZomlOw3oB/Zn4Uw== X-Received: by 10.194.142.78 with SMTP id ru14mr49442748wjb.41.1469914108976; Sat, 30 Jul 2016 14:28:28 -0700 (PDT) Received: from tango.Home ([2a02:c7d:b43f:8800:75d5:4374:ac6:5ade]) by smtp.gmail.com with ESMTPSA id ko7sm21131885wjc.48.2016.07.30.14.28.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 30 Jul 2016 14:28:27 -0700 (PDT) From: Lad Prabhakar To: denx list Date: Sat, 30 Jul 2016 22:28:24 +0100 Message-Id: <1469914104-13006-1-git-send-email-prabhakar.csengg@gmail.com> X-Mailer: git-send-email 1.9.1 Cc: Jagan Teki , Michal Simek , Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2] spi: zynq_spi: Fix infinite looping while xfer X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: "Lad, Prabhakar" During spi transfer, for example: sspi 1:1.0 8 ff the rx_len values will be: rx_len = 0 rx_len = 4294967295 This caused a busy looping during xfer, this patch fixes it by adding a check while reading the rx fifo Signed-off-by: Lad, Prabhakar Cc: Michal Simek Cc: Siva Durga Prasad Paladugu Cc: Jagan Teki --- Changes for v2: None drivers/spi/zynq_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c index 09ae1be..dd3de27 100644 --- a/drivers/spi/zynq_spi.c +++ b/drivers/spi/zynq_spi.c @@ -230,7 +230,7 @@ static int zynq_spi_xfer(struct udevice *dev, unsigned int bitlen, /* Read the data from RX FIFO */ status = readl(®s->isr); - while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) { + while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) { buf = readl(®s->rxdr); if (rx_buf) *rx_buf++ = buf;