Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2537665pxj; Mon, 10 May 2021 05:27:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEDgLWK1uqo9Pg6RxOjIjVUlV0W+XxXbRK/Xqkup/tp+tb6TUS5IL0vchkvnYqeYES1rdf X-Received: by 2002:a50:fe05:: with SMTP id f5mr28489017edt.288.1620649630138; Mon, 10 May 2021 05:27:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620649630; cv=none; d=google.com; s=arc-20160816; b=D81xpUlGiNHbF/GJ4gBbaO1WQWuhdm4Nw4joZqqPKlXbLT8QwHSu607Ixc0tWRwszU p8rKfuJlJ7tcT0uyLywaYHRgExv2jLt/Ie3dMxtIuGZ/9CVqyRShqdKG6nFGswJASFTW sKu1lEcsGx8hI6Fdr/m2QL7BV/ZyGFYn8/yVIoWjjmbsooOAbs2zFPId8Qx+942TRdYF 2yeoF5ZevHsupD249CrT5Ug84oyGoDmJBrHMvfW4IV5eCiiS1mqizC634RyrImsgkiu4 iV0b7fvHj7bSo2pD7m/8EeaDCWWfgKhp2sBbAWnNf86y+P4w+cmObVENbD+Vvy2gT6tl wHaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4A6FhXhkfEx4H+2c7rOITbGeUGhyYWEyzZ7XlzpQ5tg=; b=qJqnJ1E6m2FKZcCu7LltvYAaLX4xSxnMDpRgIUMbA7HbOZMr8QjBSr9244AeazdCZd og9Kct/vncaqvD8j/lXOSvmu0UFiJs3XSCy7ol9u4JfTFyENy0+p8IRhadbvUcAa5dxU +V6SNVclodzIX5SN4lFmXmggJXmFhyJUCU4mW8k7lwFp4qE4kSh8e+LiSF+o+1sHb5rX /Mc04GSfTi65GTmZ9Angyzckbs2QWgFQsLbsoS7j6c7y8pehi/gqU9x/UmJhHVVdHXHj skj9f8v1FvWU28mwEuSNs+/SNPt44dOnBvo80YGvcWCJkMvep4S5UxFnQ97trDfP8WkS gDaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=YWYJLkKj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v13si13293643ejb.671.2021.05.10.05.26.46; Mon, 10 May 2021 05:27:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=YWYJLkKj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344337AbhEJMPf (ORCPT + 99 others); Mon, 10 May 2021 08:15:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:46932 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236068AbhEJLH0 (ORCPT ); Mon, 10 May 2021 07:07:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id AF48C6188B; Mon, 10 May 2021 10:58:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620644284; bh=kSrKgO2xaqO6lOznFu5zbp+aAYubKCef7sgvh9D3tSg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YWYJLkKj6KpcoGyQwPVCIdFRMmvTApnh4xUdSgmpuH3WWmHoBZgIB4ztFe0bIPj94 +m8DQn/CBWhjZJ0SSMDfw+FDgy5mNzt/Jag/FuSrtx6jpnAxX22kxWnnn/gxO65e55 UW19++Uv5Y+mGxmiHd9A/tiJvmLtrX7PHjSR5dNo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Bhaumik Bhatt , Hemant Kumar , Manivannan Sadhasivam Subject: [PATCH 5.12 002/384] bus: mhi: core: Clear configuration from channel context during reset Date: Mon, 10 May 2021 12:16:31 +0200 Message-Id: <20210510102014.934800796@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102014.849075526@linuxfoundation.org> References: <20210510102014.849075526@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bhaumik Bhatt commit 47705c08465931923e2f2b506986ca0bdf80380d upstream. When clearing up the channel context after client drivers are done using channels, the configuration is currently not being reset entirely. Ensure this is done to appropriately handle issues where clients unaware of the context state end up calling functions which expect a context. Signed-off-by: Bhaumik Bhatt Reviewed-by: Hemant Kumar Reviewed-by: Manivannan Sadhasivam Link: https://lore.kernel.org/r/1617311778-1254-7-git-send-email-bbhatt@codeaurora.org Signed-off-by: Manivannan Sadhasivam Signed-off-by: Greg Kroah-Hartman --- drivers/bus/mhi/core/init.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/drivers/bus/mhi/core/init.c +++ b/drivers/bus/mhi/core/init.c @@ -552,6 +552,7 @@ void mhi_deinit_chan_ctxt(struct mhi_con struct mhi_ring *buf_ring; struct mhi_ring *tre_ring; struct mhi_chan_ctxt *chan_ctxt; + u32 tmp; buf_ring = &mhi_chan->buf_ring; tre_ring = &mhi_chan->tre_ring; @@ -565,7 +566,19 @@ void mhi_deinit_chan_ctxt(struct mhi_con vfree(buf_ring->base); buf_ring->base = tre_ring->base = NULL; + tre_ring->ctxt_wp = NULL; chan_ctxt->rbase = 0; + chan_ctxt->rlen = 0; + chan_ctxt->rp = 0; + chan_ctxt->wp = 0; + + tmp = chan_ctxt->chcfg; + tmp &= ~CHAN_CTX_CHSTATE_MASK; + tmp |= (MHI_CH_STATE_DISABLED << CHAN_CTX_CHSTATE_SHIFT); + chan_ctxt->chcfg = tmp; + + /* Update to all cores */ + smp_wmb(); } int mhi_init_chan_ctxt(struct mhi_controller *mhi_cntrl,