Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp2632120pxy; Mon, 3 May 2021 04:46:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfNcFUG1UDGhvygLq8H/6TbNr9e2qaiNerPgbG/ng2vYH6eodr6vwftGgeAv4Yd74eWtzw X-Received: by 2002:aa7:db95:: with SMTP id u21mr19324033edt.152.1620042414594; Mon, 03 May 2021 04:46:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620042414; cv=none; d=google.com; s=arc-20160816; b=ebH/V3aECYaiXvfKeOkr9r5vxuH35m+JEz6twFJ038x3uOK3NHm3lNHnRXiPKishQ3 KpDa8M4NU3Q622kMu3jxVQh9votacILqGRjqKSLmZXWugu2Oet13wvilJRnqu+WrVNcA amq84TSwbIfL/8e2BMUEEPitXDlsc1M7uQL0xTEnXLroECskNEn2yL/u57GIEpHUdjTI v6e5QbbhLfw1JXBewvi6RijVF2Mb94o0U0vmPWjyMfsrWxzuwb4SukgEqsIVfuKlJNge V3TmOHdPBhrTNM8cmfFsB5G4vq7YwrMDy+NEE7kib1KGUHCD+Tzpqy2zlXqKqZo/4nn1 FtYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=BcMvlCorJtL+IBe+5Dh3q4oY3pbdVgUcQa/kde1QJCI=; b=Ze1nkzThAsqr1VWwGOW4r4k7aUDmi/gfI63XwBWNoZrSBR6Dpj28aWmvCwgj3NR9w+ ZfLbZg7aLO0Z6dErfi/h+EGJ/1D17g/tfY+V10Amel3n5FL+IHKWYS+ph8jjso0yH1EF V1Te63TOLNlPp7xTuHt9J5zUXHJR6C1fdt/vqaQ16dQC1ywzXDJOZCd8Wj31sShHxSMR 1dVz7e9qDoWaX1v06T3kBOJjXiyjs2hkLtZn+3p+Zv0mKBM3OOwJEIPripnJcxbUq1AZ XrrhIHxGQgS8XVaBYiwQFeQhftgAkJxlLwUTkSVDkPTqvEPwbtDI398wL8LOZbYeZ+a9 H8ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uOcgNgRZ; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gb34si9406713ejc.697.2021.05.03.04.46.15; Mon, 03 May 2021 04:46:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-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=@kernel.org header.s=k20201202 header.b=uOcgNgRZ; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229823AbhECLXh (ORCPT + 99 others); Mon, 3 May 2021 07:23:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:45248 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229811AbhECLXh (ORCPT ); Mon, 3 May 2021 07:23:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 410D161175; Mon, 3 May 2021 11:22:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620040964; bh=ykcRK+jXo5ay6GUs0RS3BJSmv/DKJvnmah0JJ3/98Tk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=uOcgNgRZliNhDZu8hFfrZicH4AZgOCIv7ZKM5R6e1Ee5USiQeI4nZ1EetFQ3J+HSO 2ji76SscbKI/A9R9ILYA7hFL+419qNYmab20QeIHUL0b6+JEDMVbmTPgxxqEulLhBH 74mWVJc0hkyNIG4JdbZPP12iMVzLNMtToUT3uCM4NMFWvmvwi0nelwh1IE2vcecgW/ vBb4QRLobzhKkEr+7YDiyEC52gWatMvNKombtqN0nWP0Qr1zFcFIGA11Ha9w8Vk7AV AtPy1DZpwNuB19sZeDbiufJWFQuG9gOmHGJHWmFOhcYcbE+CJuAzKuOqp5YD94PlNv /qx3VT6TVfrBA== Received: from johan by xi.lan with local (Exim 4.93.0.4) (envelope-from ) id 1ldWf9-00085g-7D; Mon, 03 May 2021 13:22:55 +0200 Date: Mon, 3 May 2021 13:22:55 +0200 From: Johan Hovold To: Pavel Skripkin Cc: marcel@holtmann.org, johan.hedberg@gmail.com, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Rocky Liao Subject: Re: [PATCH v2] bluetooth: hci_qca: fix potential GPF Message-ID: References: <20210503100605.5223-1-paskripkin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210503100605.5223-1-paskripkin@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org On Mon, May 03, 2021 at 01:06:05PM +0300, Pavel Skripkin wrote: > In qca_power_shutdown() qcadev local variable is > initialized by hu->serdev.dev private data, but > hu->serdev can be NULL and there is a check for it. > > Since, qcadev is not used before > > if (!hu->serdev) > return; > > we can move its initialization after this "if" to > prevent GPF. > > Fixes: 5559904ccc08 ("Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown()") > Cc: stable@vger.kernel.org # v5.6+ > Cc: Rocky Liao > Signed-off-by: Pavel Skripkin > --- Next time, put a changelog here so we know what changed since earlier version(s). Reviewed-by: Johan Hovold > drivers/bluetooth/hci_qca.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c > index de36af63e182..9589ef6c0c26 100644 > --- a/drivers/bluetooth/hci_qca.c > +++ b/drivers/bluetooth/hci_qca.c > @@ -1820,8 +1820,6 @@ static void qca_power_shutdown(struct hci_uart *hu) > unsigned long flags; > enum qca_btsoc_type soc_type = qca_soc_type(hu); > > - qcadev = serdev_device_get_drvdata(hu->serdev); > - > /* From this point we go into power off state. But serial port is > * still open, stop queueing the IBS data and flush all the buffered > * data in skb's. > @@ -1837,6 +1835,8 @@ static void qca_power_shutdown(struct hci_uart *hu) > if (!hu->serdev) > return; > > + qcadev = serdev_device_get_drvdata(hu->serdev); > + > if (qca_is_wcn399x(soc_type)) { > host_set_baudrate(hu, 2400); > qca_send_power_pulse(hu, false);