From patchwork Fri Aug 2 03:50:44 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dinh Nguyen X-Patchwork-Id: 2837503 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 72074BF535 for ; Fri, 2 Aug 2013 03:51:42 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6354320360 for ; Fri, 2 Aug 2013 03:51:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 227BD20357 for ; Fri, 2 Aug 2013 03:51:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754323Ab3HBDvj (ORCPT ); Thu, 1 Aug 2013 23:51:39 -0400 Received: from am1ehsobe006.messaging.microsoft.com ([213.199.154.209]:31147 "EHLO am1outboundpool.messaging.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753019Ab3HBDvi (ORCPT ); Thu, 1 Aug 2013 23:51:38 -0400 Received: from mail75-am1-R.bigfish.com (10.3.201.249) by AM1EHSOBE027.bigfish.com (10.3.207.149) with Microsoft SMTP Server id 14.1.225.22; Fri, 2 Aug 2013 03:51:36 +0000 Received: from mail75-am1 (localhost [127.0.0.1]) by mail75-am1-R.bigfish.com (Postfix) with ESMTP id CC5811E0272; Fri, 2 Aug 2013 03:51:36 +0000 (UTC) X-Forefront-Antispam-Report: CIP:66.35.236.232; KIP:(null); UIP:(null); IPV:NLI; H:SJ-ITEXEDGE02.altera.priv.altera.com; RD:none; EFVD:NLI X-SpamScore: 0 X-BigFish: VS0(zzzz1f42h208ch1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz1de098h8275bh8275dh1de097hz2fh2a8h668h839hd24he5bhf0ah1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h14ddh1504h1537h162dh1631h1758h1898h18e1h1946h19b5h1ad9h1b0ah1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1e1dh1e23h1155h) Received-SPF: pass (mail75-am1: domain of altera.com designates 66.35.236.232 as permitted sender) client-ip=66.35.236.232; envelope-from=dinguyen@altera.com; helo=SJ-ITEXEDGE02.altera.priv.altera.com ; v.altera.com ; Received: from mail75-am1 (localhost.localdomain [127.0.0.1]) by mail75-am1 (MessageSwitch) id 1375415442903885_1276; Fri, 2 Aug 2013 03:50:42 +0000 (UTC) Received: from AM1EHSMHS008.bigfish.com (unknown [10.3.201.241]) by mail75-am1.bigfish.com (Postfix) with ESMTP id 084F6C005C; Fri, 2 Aug 2013 03:50:42 +0000 (UTC) Received: from SJ-ITEXEDGE02.altera.priv.altera.com (66.35.236.232) by AM1EHSMHS008.bigfish.com (10.3.207.108) with Microsoft SMTP Server (TLS) id 14.16.227.3; Fri, 2 Aug 2013 03:50:41 +0000 Received: from sj-mail01.altera.com (137.57.1.6) by SJ-ITEXEDGE02.altera.priv.altera.com (66.35.236.232) with Microsoft SMTP Server id 8.3.298.1; Thu, 1 Aug 2013 20:40:02 -0700 Received: from linux-builds1.altera.com (linux-builds1.altera.com [137.57.188.121]) by sj-mail01.altera.com (8.13.7+Sun/8.13.7) with ESMTP id r723oZ6W020890; Thu, 1 Aug 2013 20:50:38 -0700 (PDT) From: To: , CC: Dinh Nguyen , Doug Anderson , Jaehoon Chung , James Hogan , Seungwon Jeon , Chris Ball Subject: [PATCH] mmc: dw_mmc: Handle the Hardware Locked Write Error(HLE) Date: Thu, 1 Aug 2013 22:50:44 -0500 Message-ID: <1375415444-23407-1-git-send-email-dinguyen@altera.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 X-OriginatorOrg: altera.com X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn% Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Dinh Nguyen The Handle the Hardware Locked Write Error(HLE) was getting triggered intermittently on the SOCFPGA platform. But since the driver did not have a mechanism to handle this interrupt, it was stuck in the ISR. Clear the HLE interrupt when it gets triggered. Signed-off-by: Dinh Nguyen Cc: Doug Anderson Cc: Jaehoon Chung Cc: James Hogan Cc: Seungwon Jeon Cc: Chris Ball --- drivers/mmc/host/dw_mmc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index ee5f167..ef30bec 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1664,6 +1664,9 @@ static irqreturn_t dw_mci_interrupt(int irq, void *dev_id) queue_work(host->card_workqueue, &host->card_work); } + if (pending & SDMMC_INT_HLE) + mci_writel(host, RINTSTS, SDMMC_INT_HLE); + /* Handle SDIO Interrupts */ for (i = 0; i < host->num_slots; i++) { struct dw_mci_slot *slot = host->slot[i];