All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Lauro Ramos Venancio <lauro.venancio@openbossa.org>,
	Aloisio Almeida Jr <aloisio.almeida@openbossa.org>,
	Samuel Ortiz <sameo@linux.intel.com>
Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Johan Hovold <johan@kernel.org>,
	stable <stable@vger.kernel.org>,
	Vincent Cuissard <cuissard@marvell.com>
Subject: [PATCH v2 4/8] NFC: nfcmrvl: use nfc-device for firmware download
Date: Thu, 30 Mar 2017 12:15:38 +0200	[thread overview]
Message-ID: <20170330101542.15384-5-johan@kernel.org> (raw)
In-Reply-To: <20170330101542.15384-1-johan@kernel.org>

Use the nfc- rather than phy-device in firmware-management code that
needs a valid struct device.

This specifically fixes a NULL-pointer dereference in
nfcmrvl_fw_dnld_init() during registration when the underlying tty is
one end of a Unix98 pty.

Note that the driver still uses the phy device for any debugging, which
is fine for now.

Fixes: 3194c6870158 ("NFC: nfcmrvl: add firmware download support")
Cc: stable <stable@vger.kernel.org>     # 4.4
Cc: Vincent Cuissard <cuissard@marvell.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/nfc/nfcmrvl/fw_dnld.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/nfc/nfcmrvl/fw_dnld.c b/drivers/nfc/nfcmrvl/fw_dnld.c
index f8dcdf4b24f6..af62c4c854f3 100644
--- a/drivers/nfc/nfcmrvl/fw_dnld.c
+++ b/drivers/nfc/nfcmrvl/fw_dnld.c
@@ -459,7 +459,7 @@ int	nfcmrvl_fw_dnld_init(struct nfcmrvl_private *priv)
 
 	INIT_WORK(&priv->fw_dnld.rx_work, fw_dnld_rx_work);
 	snprintf(name, sizeof(name), "%s_nfcmrvl_fw_dnld_rx_wq",
-		 dev_name(priv->dev));
+		 dev_name(&priv->ndev->nfc_dev->dev));
 	priv->fw_dnld.rx_wq = create_singlethread_workqueue(name);
 	if (!priv->fw_dnld.rx_wq)
 		return -ENOMEM;
@@ -496,6 +496,7 @@ int nfcmrvl_fw_dnld_start(struct nci_dev *ndev, const char *firmware_name)
 {
 	struct nfcmrvl_private *priv = nci_get_drvdata(ndev);
 	struct nfcmrvl_fw_dnld *fw_dnld = &priv->fw_dnld;
+	int res;
 
 	if (!priv->support_fw_dnld)
 		return -ENOTSUPP;
@@ -511,7 +512,9 @@ int nfcmrvl_fw_dnld_start(struct nci_dev *ndev, const char *firmware_name)
 	 */
 
 	/* Retrieve FW binary */
-	if (request_firmware(&fw_dnld->fw, firmware_name, priv->dev) < 0) {
+	res = request_firmware(&fw_dnld->fw, firmware_name,
+			       &ndev->nfc_dev->dev);
+	if (res < 0) {
 		nfc_err(priv->dev, "failed to retrieve FW %s", firmware_name);
 		return -ENOENT;
 	}
-- 
2.12.2

  parent reply	other threads:[~2017-03-30 10:16 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-30 10:15 [PATCH v2 0/8] NFC: fix device allocation and nfcmrvl crashes Johan Hovold
2017-03-30 10:15 ` [PATCH v2 1/8] NFC: fix broken device allocation Johan Hovold
2017-03-30 10:15 ` [PATCH v2 2/8] NFC: nfcmrvl_uart: add missing tty-device sanity check Johan Hovold
2017-03-30 10:15 ` [PATCH v2 3/8] NFC: nfcmrvl: do not use device-managed resources Johan Hovold
2017-03-30 10:15 ` Johan Hovold [this message]
2017-03-30 10:15 ` [PATCH v2 5/8] NFC: nfcmrvl: fix firmware-management initialisation Johan Hovold
2017-03-30 10:15   ` Johan Hovold
2017-03-30 10:15 ` [PATCH v2 6/8] NFC: nfcmrvl_uart: fix device-node leak during probe Johan Hovold
2017-03-30 10:15 ` [PATCH v2 7/8] NFC: nfcmrvl_usb: use interface as phy device Johan Hovold
2017-03-30 10:15 ` [PATCH v2 8/8] NFC: nfcmrvl: allow gpio 0 for reset signalling Johan Hovold
2017-04-18 10:09 ` [PATCH v2 0/8] NFC: fix device allocation and nfcmrvl crashes Johan Hovold
2017-04-18 23:24   ` Samuel Ortiz
2017-04-26 10:36     ` Johan Hovold
2017-04-26 22:42 ` Samuel Ortiz
2017-05-16  9:42   ` Johan Hovold
2017-06-01  7:55     ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170330101542.15384-5-johan@kernel.org \
    --to=johan@kernel.org \
    --cc=aloisio.almeida@openbossa.org \
    --cc=cuissard@marvell.com \
    --cc=lauro.venancio@openbossa.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sameo@linux.intel.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.