From patchwork Tue Apr 4 06:18:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Amit Pundir X-Patchwork-Id: 96686 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp48281qgd; Mon, 3 Apr 2017 23:18:23 -0700 (PDT) X-Received: by 10.98.137.204 with SMTP id n73mr20653450pfk.5.1491286703663; Mon, 03 Apr 2017 23:18:23 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a9si746909pgf.57.2017.04.03.23.18.23; Mon, 03 Apr 2017 23:18:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752477AbdDDGSX (ORCPT + 6 others); Tue, 4 Apr 2017 02:18:23 -0400 Received: from mail-pg0-f48.google.com ([74.125.83.48]:33835 "EHLO mail-pg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751074AbdDDGSW (ORCPT ); Tue, 4 Apr 2017 02:18:22 -0400 Received: by mail-pg0-f48.google.com with SMTP id 21so142766201pgg.1 for ; Mon, 03 Apr 2017 23:18:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u90ti+p3dk2sh4ycOoEW1lyTgDHSsuGZudJ78Xag5TA=; b=RLTxUVHp+YRqDUsiIfMoydc0eqn3EGqhX6OENDAmAJ1Fx3m8p7GetufbFxseDXP4jQ HqjFVarFR7hGxqGSXuE76nL7ZsozXw6ldVcR3i2H3qi2AVQ+pr53VESd4IiIGXr5m7jJ k7O3PohZgS/NOfij3A4hhFH/Y6qYOgtRSIHGU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u90ti+p3dk2sh4ycOoEW1lyTgDHSsuGZudJ78Xag5TA=; b=AuBgp76cHi8dfKos/IW+GjpM8oupGaEPpdHRXTtqkr7aqQPJ5laztzq/MFN2hLYFcE raVRJMzHUuuZ8GkwR0cRwsZH8ppLHldVQbVmvhgkS85zwrUFhD6q7AUInigKSm7E6Z27 LuIuS31vQT8wXU7IdmcPKbj1e0BAIV8tX0oJ805uS2cPeg2yEeTwJoiN2aXvLRFXuBEJ 5ktKX1ICSi2d7JhiJKfi2tuvKjKeJZzRqbL4tzQpFfgKPiTwmPh6+yneIyoK+UWqryMe mUCJkKAj7zsURQHY7FWMjxOIZafBfI/2lkjzO/yVLqYW94rpwTMF75KYIKU8FU8cDW0z L3PA== X-Gm-Message-State: AFeK/H3M/eLJKtAYjosVPenPZc3MoNv0BYR1u9+OZrdM0Cu8gpIfQ5qjJspFSFAPm2SU9mL+ X-Received: by 10.98.216.202 with SMTP id e193mr20514461pfg.80.1491286701792; Mon, 03 Apr 2017 23:18:21 -0700 (PDT) Received: from localhost.localdomain ([106.51.240.246]) by smtp.gmail.com with ESMTPSA id m20sm29331500pgd.32.2017.04.03.23.18.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 03 Apr 2017 23:18:21 -0700 (PDT) From: Amit Pundir To: gregkh@linuxfoundation.org Cc: stable@vger.kernel.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Kalle Valo Subject: [PATCH 24/33] brcmfmac: check brcmf_bus_get_memdump result for error Date: Tue, 4 Apr 2017 11:48:03 +0530 Message-Id: <1491286688-31314-5-git-send-email-amit.pundir@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491286688-31314-1-git-send-email-amit.pundir@linaro.org> References: <1491286688-31314-1-git-send-email-amit.pundir@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Rafał Miłecki This method may be unsupported (see: USB bus) or may just fail (see: SDIO bus). While at it rework logic in brcmf_sdio_bus_get_memdump function to avoid too many conditional code nesting levels. Signed-off-by: Rafał Miłecki Acked-by: Arend van Spriel Signed-off-by: Kalle Valo (cherry picked from commit f4737a62033d7f3e0db740c449fc62119da7ab8a) Signed-off-by: Amit Pundir --- .../wireless/broadcom/brcm80211/brcmfmac/debug.c | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) -- 2.7.4 diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c index e64557c..6f8a4b0 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c @@ -32,16 +32,25 @@ static int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data, { void *dump; size_t ramsize; + int err; ramsize = brcmf_bus_get_ramsize(bus); - if (ramsize) { - dump = vzalloc(len + ramsize); - if (!dump) - return -ENOMEM; - memcpy(dump, data, len); - brcmf_bus_get_memdump(bus, dump + len, ramsize); - dev_coredumpv(bus->dev, dump, len + ramsize, GFP_KERNEL); + if (!ramsize) + return -ENOTSUPP; + + dump = vzalloc(len + ramsize); + if (!dump) + return -ENOMEM; + + memcpy(dump, data, len); + err = brcmf_bus_get_memdump(bus, dump + len, ramsize); + if (err) { + vfree(dump); + return err; } + + dev_coredumpv(bus->dev, dump, len + ramsize, GFP_KERNEL); + return 0; }