From patchwork Mon Feb 5 08:12:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 10199979 X-Patchwork-Delegate: geert@linux-m68k.org 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 C77CA60247 for ; Mon, 5 Feb 2018 08:17:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ABC4A28450 for ; Mon, 5 Feb 2018 08:17:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9C0FC285FD; Mon, 5 Feb 2018 08:17:25 +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,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CC29928450 for ; Mon, 5 Feb 2018 08:17:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752583AbeBEIRX (ORCPT ); Mon, 5 Feb 2018 03:17:23 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:20841 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750962AbeBEIRV (ORCPT ); Mon, 5 Feb 2018 03:17:21 -0500 Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie1.idc.renesas.com with ESMTP; 05 Feb 2018 17:17:19 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 53CAB78AE3; Mon, 5 Feb 2018 17:17:19 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,464,1511794800"; d="scan'208";a="270303820" Received: from mail-ty1jpn01lp0177.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.177]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Feb 2018 17:17:19 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=o/NZBsnwD5+IryiYsaC0wiQvyZ/47W34SRLKi/sctrs=; b=C/MWInvPL2c9hS3MPEiKJrIQ4jB1KvTNPRtMdQVTByrcAFSzxNsFHhMgqd8rpheg0Ht9MuDryXdH5ecNrAfEfONVklSRQvNi/H49wNYP1npK4oyKvNRS7i4pF0SaXqo6HxSxy4Ls6pMk32J2ddr+Q+m5AY8X+OXExsX3HyurXB4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.138) by TY1PR06MB0991.apcprd06.prod.outlook.com (10.164.99.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.464.11; Mon, 5 Feb 2018 08:17:16 +0000 From: Yoshihiro Shimoda To: balbi@kernel.org Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-renesas-soc@vger.kernel.org, stable@vger.kernel.org, Yoshihiro Shimoda Subject: [PATCH] usb: renesas_usbhs: missed the "running" flag in usb_dmac with rx path Date: Mon, 5 Feb 2018 17:12:35 +0900 Message-Id: <1517818355-8513-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TYXPR01CA0048.jpnprd01.prod.outlook.com (52.133.165.18) To TY1PR06MB0991.apcprd06.prod.outlook.com (10.164.99.25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: fb373c4b-fa89-4e90-4f20-08d56c70de2c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(8559017)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:TY1PR06MB0991; X-Microsoft-Exchange-Diagnostics: 1; TY1PR06MB0991; 3:D6MgPg4HQ7HDQcthrqRTCPMLc7A2Tarpj5J41gbohCPDEvbgjOHWddzsMqx0erifmJzmy4+jyhVOqlV7ec4Vj0Ug0tJl0RljQjkS0gd2x8RsVPp22jRzeYope4k84VmdSqoXTvec1+v6J5uwXG9+xJ34GWz8MS4FxTGh92/JXKv9xoOuenJHhz2SjAUfNnP/wiGvaTk122nNc6oWU/lRvZT205xEmYhRuaDwc9MaHpn0UePvMU5skoHR6WtntPLc; 25:AtGK0AYsgcRI34KZHRgAPIdjSdRNKWfK26v6hWlWAIUv2MgSWCNVIU0+JjuwpH1m96xgaAS26BOmwVGPz25GIGDABuUNvZApck8RWGQvBBIYshNkoAy4BE8vWnrkMVe8mRG0nBUHtUUnPRJqGZA0xUsiNPS7NEG4FXusOruyuVvfEsk+JG+Tbb5QWGWvC/LsOsQdSfZpoTz/aFniRwMpRULx1csRjs2951hBUMudUe7B6zCB+lLhUQeZH3I7r+5PgWeaOf7ZFAfyBllnQUAKScs2Um9cKZ+oHTrRPanGQtaXevNdx1y4L7GjnjW84VFBlY0QDN/lUhS259SbVy/OiQ==; 31:CaNMTBEtnMRTrCBkWoEUc4xFpWKvm9lU41eNfWFalT/i5TnAsktooOSUcbzp6z3tS/KGfVu6Mj+yXz/3oFBQTFPupn/MHnssFyEOzMnQVLB/Xy1pI3UnSZrf3J917hkAM1dSnk72greFbyrryq4WZj5Jm5Ow+U7rDYeYkADQNp3jK4ln49Ek8DTaMT0O/p9RA/o1b5jJAd3YfENkTGkqXld/FXYS/qoEpiYesYowyro= X-MS-TrafficTypeDiagnostic: TY1PR06MB0991: X-Microsoft-Exchange-Diagnostics: 1; TY1PR06MB0991; 20:KLiJ69gSP6aL53YlTt+BUT5ZAk1hvMAOwt2FflIkKRezyf7kXrJHM7LUl2xniExRtNZm0Vw1f/LLmETq5Kfa45hS9cfmgQOq2SOKtE3iU72EiAiIcgEsjgjFLZ0bkhu6AKTlPgluLi4YXiwLWwE6zHCy7PhI1v0kBkKBlNea4dqzZfRhYrxAghlw66F4+2WK2T0ZvNUqxvTgvNy1c/2AufXHmA2uZWfQkF8vFRKzxR2EYf1ZJoNpsnflvwOXGrb8/ornHrEzTnh24HRL+9vjwxUgcIxLmk5xizCTR6ngGLyAp003BEk4yR5ggcHAqb+g6wfbxhVRXZ4HdJ7aEdBEW2vWdyd2lU1Vtsriu2K0ch+WlYWWs2DYdFQB/6aiYpyeUXZ10+tjrMPjdDfv7kZsau3NP1oN+ehYy1kwhMuEJbArRd9XdUPUhHhcFbf6GqkA+AijOReoTKfqu7whLX4OskX2jTH6f/cQnn7lvu7i6/hLSANVtSQ9vBQ4XWbay5b4; 4:eUMKiHD6iTOtsDbhluxS+G9IHz7xlWLj1uHvjLu+Ix3uUc7iC4OjJEgl96tefPBmfGn4M1bg8B7HmoS+rQjBzD/gXgiRtmivWzFvQJqQ3JF9UJUq8wX5M5YOyHoyJ+zI9SPzqq3713/i04/EFTUkrAdin+WrUmjzs6yfZL7xhKOrjRPzfxp/+Qk2cmJRG3WnCOZBwg46yv0Lss4pwj6b2BY4xCSGPzFKGvXkxJ14adO6d2R9VvvmL/BoMPIFK6KNuonms5P28eDtrJEPYuInyUvsne1UdHtjmuccTHABl6Z7pce3qjXcNSaOZjnZPQdm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(93006095)(3231101)(2400082)(944501161)(10201501046)(3002001)(6055026)(6041288)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061750153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:TY1PR06MB0991; BCL:0; PCL:0; RULEID:; SRVR:TY1PR06MB0991; X-Forefront-PRVS: 0574D4712B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(346002)(366004)(39380400002)(39860400002)(396003)(376002)(189003)(199004)(7736002)(2906002)(36756003)(78352004)(47776003)(1857600001)(6116002)(3846002)(26005)(81156014)(105586002)(2351001)(8676002)(81166006)(316002)(106356001)(2361001)(66066001)(305945005)(498600001)(107886003)(6512007)(16586007)(50466002)(551934003)(386003)(6506007)(53936002)(6486002)(25786009)(48376002)(50226002)(8936002)(52116002)(51416003)(5660300001)(6666003)(16526019)(4326008)(42882006)(97736004)(6916009)(68736007)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR06MB0991; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:0; A:0; LANG:en; Received-SPF: None (protection.outlook.com: localhost.localdomain does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TY1PR06MB0991; 23:qm/bp0j0+eGqpcSwDYR35VXaWsZr6rLkqJndXwAcV?= =?us-ascii?Q?JXNEld0dxi8kTfVlsfhVeYgwjwB7AiHTh8DZh6Q14C2ZTwSOg2kae4AHaUMm?= =?us-ascii?Q?ivX25EVe+vvqhrXUnRDCWovuWRU2xsi5/U2hY6MxxypgdR8hzY1aoh3lccAW?= =?us-ascii?Q?/lgm482iKuemWbrcLbuMtKIZNlpPQn8+8q0rjd72NZIS1TunTGkknZTO6jgU?= =?us-ascii?Q?pDOtbJPRyWQhwCrbgnu9ogY6awUhVmU/vJ6OBTTm8qcOOqKsB4nGACi3kmJc?= =?us-ascii?Q?LwsU0RXx28arn1EVReM7LN3vMCP6Z9Euh6U0WRAPXf+PcUIudwh4E8r+D2OC?= =?us-ascii?Q?FhgBsX6L5UR/CHwMC9l3rtEbT8yaA1/CeL56+zkhM4qTtU0dMvU3D0xpm1ac?= =?us-ascii?Q?E5YHQwXnbKTFwFljtRIORUO6tnLEqL/k+eBawKPaNWsKE9Jl3O8pZEpb+XlU?= =?us-ascii?Q?55US7KSbYtQ7jgvWYRbfYT+ePaHeietTTAgAD/deID8OVvP7QxtUhDzW3C7p?= =?us-ascii?Q?UhP+m0Dt5SfhDu/ptFhAAMT4l19t7DONGljHKfAaJ8ghMhi+BUehz2+kdKbg?= =?us-ascii?Q?V29Jiv9vrut+eLH/qtxvqNfMbJgufsZJbTyxTIQDK8ZZNcehBEe6TP/+oyt1?= =?us-ascii?Q?HYZJgofHxCfImHm8vfhZqgcf93CoCoga1pbT98KjyAgmYb+Av22KP1lFw+eQ?= =?us-ascii?Q?t+0aZF4uip7JDMhdp0MGat32Pas0knYcG5hge34c1OUkiCoDPd/g2PjJg1yk?= =?us-ascii?Q?rvsNuw3aYbG1wFEqXt4eSJxBoqC+6CcRG/tpD+Pb31gLFy7HSVKWzBNVpaoz?= =?us-ascii?Q?Op+C/a0bOvTHz77rwPZL22gcqH0FXyHIriBNCuoinr1iHfAeDZHG6a5OER7p?= =?us-ascii?Q?+e0ihpcWMCseYOzEIy/AkrkXIJGy3NJKKxw9wDOtBIdOg6VwD2v+8T1jBrYl?= =?us-ascii?Q?31AHpW1GxnDwTfOph+PyehCibZQjl0FLx/WIDUV88xOu4eQBNbCYHxh5orQo?= =?us-ascii?Q?PqdonMpwmoEcDF9rm4hEua46+EFhvkkbBuub4J/qO0VNSWMDJ4NrZtCPFcWS?= =?us-ascii?Q?mn8aVw41Oe5gloO9eeex3L1j8yDP6Pc8aA6GRZzZAntngwq6W5nGSL7B9a3z?= =?us-ascii?Q?jK0ynmwO7rB9cyU84DcC4MikzC3cN2Nb9G6orQbnbVB+px5skr1GF3lUT6R/?= =?us-ascii?Q?5HEDOw4KB5rXyUddVpEJKA3saItuvt1qGcS?= X-Microsoft-Exchange-Diagnostics: 1; TY1PR06MB0991; 6:PUBTt1FWj69UqCsqxRnm7+nnnVZ3g9MmFn6XAFfNmhXtnUiTvTC6XluI1/2sC++mL1xzZ/Smwq/IZsEk1UUEdZCc6jOzuTgoyYYuqXZYhaW3nbJxTHuzqsV7JQiDNzKmYfBEwos9RKqdekiUaWSU9LUoJUlQPb+12Gq6oOl4uHqsvbvTxmCFnad4blGaTKjlsjbVq2rFervfwPPOk4AmJQJNwajVXAI/61UqIJPmATIWYwL13tZl2R/hOo5FuuCq9XAw6rCPiCeicsmBne1MGeJbhNZYNdFllmdzYf57Ur5/CTSaIlyYl5u/8glccKN+ZnUepcyDqPhoQ/UqoK22uCrN/9WKIl0bUWKwcgCbMHs=; 5:mexSp2YN+bOtK6upZcrvORZpIIaPvqUWB0ic5gPfBT5cfY16Ktr5wSO9K7bXqU0i2VeHelwIrKKYcSZ3KBQ01WLjsDapqt1EuUicPdL9bcWzrXpNlqli9OzhiSMzb3ft5bkTdlHMUDUjAuinMH79sFx5o8O7sziPZdmzTSyaEV8=; 24:C17NvVsW5aEq4NiJyAWyXu40C6+IwbFhmBMc5oehDbXqtwt5eaH6DPkGeqQESBJx5eY9biOutOZHCd0PFOWnLxOYchifogm2QtBGmkkokeo=; 7:44sYD8wimi0ws8UCfwrkNI+FWaA85sZkkgnqRmndr7d1CDo1hh1Eg2uB6tn43VA2TJP5aYzxvfcSDWSx83JLQPAUmHHA3KHpYTq0XWgx8XDpyyGjmXRtFI4BDAqACBUSCHYgCtCV9YMaoYF6Y8PXl3cHsMaBYdsmCatD0v6ePFd9x93hGxz7droGQyyxAOtPV7boesdFt/DluXNkeu+g3vlFmsBBh2NiunDJELG4Cg0Z+oGHIObHvPS1QoaIMIX5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR06MB0991; 20:Q0m9P4Rx11Vdn4twUxkb5aauYaHcznUW8P8kGCx7pdbBxHUvUh2/5cGhkb1cUgjYmrr9h++EQqd0Ma1SA9/3mUn3oabc0HFoEUF3/ouyK9+z3Ft+MEPswl9OSY/Wz1Wz7uxRWW5Fh3Y+7Q1/o6XF3gC63dEpmjWUzD8qrGeCXcw= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2018 08:17:16.1594 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb373c4b-fa89-4e90-4f20-08d56c70de2c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR06MB0991 Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This fixes an issue that a gadget driver (usb_f_fs) is possible to stop rx transactions after the usb-dmac is used because the following functions missed to set/check the "running" flag. - usbhsf_dma_prepare_pop_with_usb_dmac() - usbhsf_dma_pop_done_with_usb_dmac() So, if next transaction uses pio, the usbhsf_prepare_pop() can not start the transaction because the "running" flag is 0. Fixes: 8355b2b3082d ("usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle") Cc: # v3.19+ Signed-off-by: Yoshihiro Shimoda --- drivers/usb/renesas_usbhs/fifo.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c index 2d24ef3..b295e20 100644 --- a/drivers/usb/renesas_usbhs/fifo.c +++ b/drivers/usb/renesas_usbhs/fifo.c @@ -989,6 +989,10 @@ static int usbhsf_dma_prepare_pop_with_usb_dmac(struct usbhs_pkt *pkt, if ((uintptr_t)pkt->buf & (USBHS_USB_DMAC_XFER_SIZE - 1)) goto usbhsf_pio_prepare_pop; + /* return at this time if the pipe is running */ + if (usbhs_pipe_is_running(pipe)) + return 0; + usbhs_pipe_config_change_bfre(pipe, 1); ret = usbhsf_fifo_select(pipe, fifo, 0); @@ -1179,6 +1183,7 @@ static int usbhsf_dma_pop_done_with_usb_dmac(struct usbhs_pkt *pkt, usbhsf_fifo_clear(pipe, fifo); pkt->actual = usbhs_dma_calc_received_size(pkt, chan, rcv_len); + usbhs_pipe_running(pipe, 0); usbhsf_dma_stop(pipe, fifo); usbhsf_dma_unmap(pkt); usbhsf_fifo_unselect(pipe, pipe->fifo);