Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1217346ybv; Thu, 13 Feb 2020 18:23:14 -0800 (PST) X-Google-Smtp-Source: APXvYqxnCe8tpWTGaUuV127floElBdbThugSD1Lwf/hU7jU/GoU1a31FMejiOm6f08j5o8/YyAGT X-Received: by 2002:aca:ec46:: with SMTP id k67mr402527oih.43.1581646994814; Thu, 13 Feb 2020 18:23:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581646994; cv=none; d=google.com; s=arc-20160816; b=g2QjWegsFHS/DON9PDydOwRBEvnhlxyhNoidkzXKe4ObgYQ1SHOh+ufCFOPWcC4kZY 0Ixcuyq9pcAdkrpgeYVsAtR782vCqYBLTJU8XUUWwP7O4g1+bFZY3MvrXjmh1E/gcWGc M9U/sPCvlG9n2kO4NBBLhRzyvDjMO+ga3LrTPRELwfTOre1WMcYLtcHjOLexWTo2ZOqE vLNXsx4om54obE4KQ48FfXjlZdnaGmH2H7pDFahyu/hZIG1vRAkbPAd3DeanOZIH9gXO 30ei0krDDNyGrmVv1tZSmVZ+APTcwr0onPV+xoHrIcfWEgItZQPPXwJGtFjgQLTtyb62 0w9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:date:to:cc:from :subject:references:in-reply-to:content-transfer-encoding :mime-version:dkim-signature; bh=qux6BbvWAe4p4P/wAZ0A+Tgsqzz5Ke6rXhlE3TNAZMo=; b=FFRmav2CuNm/zxxz4PptEoTqfxc30CBdMFyLmuF+PUULGZdav4AfBiBv/cW9qlukgB QdrOX3MM8i2rxeiPlxIbo+ZAry5Oi6nPYexfzBWa4QCcWkyt2ob4pq0aEjvRfSea/A1+ TX8XWL9x+Gq57XGSs8pdlhA1mi2ZAzX2ogRud+zkVM+UNI8/JEfcvQsFGGGM/ZG9DImK N22fr/TzVSAcJ1DGEOYT/TrNvjor7HskkUvejlklSly8o23n7JgYn7ETdll8axSWegf/ v+eFTJIOUpxShVYobOxCikfwuuGSDYA5R86vVKojUxIaGU3HwHE0OF72rI/aPIcO2oKh lB8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=P8vKwe4x; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b8si2032300otf.32.2020.02.13.18.23.02; Thu, 13 Feb 2020 18:23:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=P8vKwe4x; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728216AbgBNCW6 (ORCPT + 99 others); Thu, 13 Feb 2020 21:22:58 -0500 Received: from mail-pj1-f66.google.com ([209.85.216.66]:37310 "EHLO mail-pj1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728052AbgBNCW6 (ORCPT ); Thu, 13 Feb 2020 21:22:58 -0500 Received: by mail-pj1-f66.google.com with SMTP id m13so3280604pjb.2 for ; Thu, 13 Feb 2020 18:22:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:content-transfer-encoding:in-reply-to:references :subject:from:cc:to:date:message-id:user-agent; bh=qux6BbvWAe4p4P/wAZ0A+Tgsqzz5Ke6rXhlE3TNAZMo=; b=P8vKwe4xSe7pQWTLvaOXQ2q5lhGX0j40d4RSrt6o9LpHnxqiPRbA/zq73dX2t/4r/l Y+036nBLxx3FvWqRaXbp9aqDhnakRgcd6kkLBqsKEQFRYFD/DH97YduK36SuKZEH9rsm GoTs3CJ2/bT9pltuH6A81V3OT/M77eN42uY34= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:content-transfer-encoding :in-reply-to:references:subject:from:cc:to:date:message-id :user-agent; bh=qux6BbvWAe4p4P/wAZ0A+Tgsqzz5Ke6rXhlE3TNAZMo=; b=QkoAcGDNvKe7Xb2n/evWkRO0/OpYJvX5TIudo2EFjnY8YJhjo1NNgcI+0KKxCB+R02 Ro1pLtHztK8oXnb/aUZ9BfVgZt4ImZ9of6Olk+tOxbNDy7TI7EFvmXXLxPP0B/e29iAp dDFGcCu9VYxbfO12UzsMe63i3laCiEAeaHm5UwHMqFWc37RuNRh3+NOiZUxABTwz7T+C 79rh/eh4PWpojzZDuiH7uyOKpZ3NFEK5LHYN58tX8rXHPjC0IR405w0M/v1+qVYbbfKl QKiuZRcNNBmA9UIYWZCQYuLVqbKXq6izrZ+wH+VE05OvP7qX+ctpekRMASllpgC+LgNQ Dp6A== X-Gm-Message-State: APjAAAVnz/iZAOpT9UEDKiLdOSsRQwa2h3UHfGqMCu5DIJLKGyfZmAue ONGtE47OtV8VKiTGAGTDXBnyPg== X-Received: by 2002:a17:902:c693:: with SMTP id r19mr1018218plx.25.1581646977474; Thu, 13 Feb 2020 18:22:57 -0800 (PST) Received: from chromium.org ([2620:15c:202:1:fa53:7765:582b:82b9]) by smtp.gmail.com with ESMTPSA id cx18sm4052762pjb.26.2020.02.13.18.22.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2020 18:22:56 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <1581609364-21824-1-git-send-email-gubbaven@codeaurora.org> References: <1581609364-21824-1-git-send-email-gubbaven@codeaurora.org> Subject: Re: [PATCH v3] Bluetooth: hci_qca: Bug fixes while collecting controller memory dump From: Stephen Boyd Cc: mka@chromium.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, robh@kernel.org, hemantg@codeaurora.org, linux-arm-msm@vger.kernel.org, bgodavar@codeaurora.org, tientzu@chromium.org, seanpaul@chromium.org, rjliao@codeaurora.org, yshavit@google.com, Venkata Lakshmi Narayana Gubba To: Venkata Lakshmi Narayana Gubba , johan.hedberg@gmail.com, marcel@holtmann.org Date: Thu, 13 Feb 2020 18:22:56 -0800 Message-ID: <158164697600.184098.7937205486686028830@swboyd.mtv.corp.google.com> User-Agent: alot/0.9 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Quoting Venkata Lakshmi Narayana Gubba (2020-02-13 07:56:04) > This patch will fix the below issues > 1.Fixed race conditions while accessing memory dump state flags. What sort of race condition? > 2.Updated with actual context of timer in hci_memdump_timeout() What does this mean? > 3.Updated injecting hardware error event if the dumps failed to receiv= e. > 4.Once timeout is triggered, stopping the memory dump collections. >=20 > Possible scenarios while collecting memory dump: >=20 > Scenario 1: >=20 > Memdump event from firmware > Some number of memdump events with seq # > Hw error event > Reset >=20 > Scenario 2: >=20 > Memdump event from firmware > Some number of memdump events with seq # > Timeout schedules hw_error_event if hw error event is not received already > hw_error_event clears the memdump activity > reset >=20 > Scenario 3: >=20 > hw_error_event sends memdump command to firmware and waits for completion > Some number of memdump events with seq # > hw error event > reset >=20 > Fixes: d841502c79e3 ("Bluetooth: hci_qca: Collect controller memory dump = during SSR") > Reported-by: Abhishek Pandit-Subedi > Signed-off-by: Venkata Lakshmi Narayana Gubba > --- [...] > @@ -1449,6 +1465,23 @@ static void qca_hw_error(struct hci_dev *hdev, u8 = code) > bt_dev_info(hdev, "waiting for dump to complete"); > qca_wait_for_dump_collection(hdev); > } > + > + if (qca->memdump_state !=3D QCA_MEMDUMP_COLLECTED) { > + bt_dev_err(hu->hdev, "clearing allocated memory due to me= mdump timeout"); > + mutex_lock(&qca->hci_memdump_lock); Why is a mutex needed? Are crashes happening in parallel? It would be nice if the commit text mentioned why the mutex is added so that the reader doesn't have to figure it out. > + if (qca_memdump) > + memdump_buf =3D qca_memdump->memdump_buf_head;