devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Christophe Ricard
	<christophe.ricard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-nfc-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org,
	christophe-h.ricard-qxv4g6HH51o@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 18/30] nfc: st-nci: Add support for proprietary commands for factory tests
Date: Sat, 24 Oct 2015 08:48:35 +0200	[thread overview]
Message-ID: <20151024064835.GD23609@zurbaran.home> (raw)
In-Reply-To: <1445377701-8353-19-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>

Hi Christophe,

Just a couple of nitpicks:

On Tue, Oct 20, 2015 at 11:48:09PM +0200, Christophe Ricard wrote:
> diff --git a/drivers/nfc/st-nci/Makefile b/drivers/nfc/st-nci/Makefile
> index 348ce76..60e569b 100644
> --- a/drivers/nfc/st-nci/Makefile
> +++ b/drivers/nfc/st-nci/Makefile
> @@ -2,7 +2,7 @@
>  # Makefile for ST21NFCB NCI based NFC driver
>  #
>  
> -st-nci-objs = ndlc.o core.o st-nci_se.o
> +st-nci-objs = ndlc.o core.o st-nci_se.o st-nci_vendor_cmds.o
Please rename that file to vendor_cmds.c.
I pushed a change to rename st-nci_se.c to se.c already, to keep the
file names consistent there.


>  obj-$(CONFIG_NFC_ST_NCI)     += st-nci.o
>  
>  st-nci_i2c-objs = i2c.o
> diff --git a/drivers/nfc/st-nci/core.c b/drivers/nfc/st-nci/core.c
> index c419d39..fd2a5ca 100644
> --- a/drivers/nfc/st-nci/core.c
> +++ b/drivers/nfc/st-nci/core.c
> @@ -25,6 +25,7 @@
>  
>  #include "st-nci.h"
>  #include "st-nci_se.h"
> +#include "st-nci_vendor_cmds.h"
Ditto: Please rename it to vendor_cmds.h.


> +void st_nci_hci_loopback_event_received(struct nci_dev *ndev, u8 event,
> +					struct sk_buff *skb)
> +{
> +	struct st_nci_info *info = nci_get_drvdata(ndev);
> +
> +	switch (event) {
> +	case ST_NCI_EVT_POST_DATA:
> +		info->vendor_info.rx_skb = skb;
> +
> +		complete(&info->vendor_info.req_completion);
> +	break;
> +	}
Wouldn't it make sense to complete regardless of the event you're
receiving ?
Since you're checking for rx_skb after the completion, it's safe and
would prevent you from being stuck waiting for the right event in the
below routine.


> +static int st_nci_hci_loopback(struct nfc_dev *dev, void *data,
> +			       size_t data_len)
> +{
> +	int r;
> +	struct sk_buff *msg;
> +	struct nci_dev *ndev = nfc_get_drvdata(dev);
> +	struct st_nci_info *info = nci_get_drvdata(ndev);
> +
> +	if (data_len <= 0)
> +		return -EPROTO;
> +
> +	reinit_completion(&info->vendor_info.req_completion);
> +	info->vendor_info.rx_skb = NULL;
> +
> +	r = nci_hci_send_event(ndev, NCI_HCI_LOOPBACK_GATE,
> +			       ST_NCI_EVT_POST_DATA, data, data_len);
> +	if (r != data_len) {
> +		r = -EPROTO;
> +		goto exit;
> +	}
> +
> +	wait_for_completion_interruptible(&info->vendor_info.req_completion);
> +
> +	if (!info->vendor_info.rx_skb ||
> +	    info->vendor_info.rx_skb->len != data_len) {
> +		r = -EPROTO;
> +		goto exit;
> +	}
> +
> +	msg = nfc_vendor_cmd_alloc_reply_skb(ndev->nfc_dev,
> +					ST_NCI_VENDOR_OUI,
> +					HCI_LOOPBACK,
> +					info->vendor_info.rx_skb->len);
> +	if (!msg) {
> +		r = -ENOMEM;
> +		goto free_skb;
> +	}
> +
> +	if (nla_put(msg, NFC_ATTR_VENDOR_DATA, info->vendor_info.rx_skb->len,
> +		    info->vendor_info.rx_skb->data)) {
> +		kfree_skb(msg);
> +		r = -ENOBUFS;
> +		goto free_skb;
> +	}
> +
> +	r = nfc_vendor_cmd_reply(msg);
> +free_skb:
> +	kfree_skb(info->vendor_info.rx_skb);
> +exit:
> +	return r;
> +}

Cheers,
Samuel.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-10-24  6:48 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-20 21:47 [PATCH 00/30] Few fixes and st21nfca/st-nci vendor_cmds support Christophe Ricard
2015-10-20 21:47 ` [PATCH 01/30] nfc: st-nci: Fix incorrect spi buffer size Christophe Ricard
2015-10-20 21:47 ` [PATCH 02/30] nfc: nci: Fix incorrect data chaining when sending data Christophe Ricard
2015-10-20 21:47 ` [PATCH 03/30] nfc: nci: Fix improper management of HCI return code Christophe Ricard
2015-10-20 21:47 ` [PATCH 08/30] nfc: st-nci: Remove ndev->hci_dev->init_data.gates initialization in load_session Christophe Ricard
2015-10-20 21:48 ` [PATCH 11/30] nfc: st21nfca: Open NFC_HCI_LINK_MGMT_PIPE Christophe Ricard
2015-10-20 21:48 ` [PATCH 12/30] nfc: st-nci: Keep st_nci_gates unchanged in load_session Christophe Ricard
2015-10-20 21:48 ` [PATCH 13/30] nfc: st21nfca: Keep st21nfca_gates " Christophe Ricard
2015-10-20 21:48 ` [PATCH 14/30] nfc: st-nci: initialize gate_count in st_nci_hci_network_init Christophe Ricard
2015-10-20 21:48 ` [PATCH 16/30] nfc: st-nci: Change st_nci_gates offset when looking for a pipe in the table Christophe Ricard
2015-10-20 21:48 ` [PATCH 17/30] nfc: st21nfca: Change st21nfca_gates " Christophe Ricard
2015-10-20 21:48 ` [PATCH 19/30] nfc: netlink: Add missing NFC_ATTR comments Christophe Ricard
2015-10-24  6:48   ` Samuel Ortiz
     [not found]     ` <20151024064841.GE23609-nKCvNrh56OoJmsy6czSMtA@public.gmane.org>
2015-10-24  6:58       ` Willy Tarreau
2015-10-24  7:01         ` Willy Tarreau
2015-10-20 21:48 ` [PATCH 22/30] nfc: st-nci: Fix host_list verification after secure element activation Christophe Ricard
2015-10-20 21:48 ` [PATCH 23/30] nfc: st21nfca: " Christophe Ricard
2015-10-20 21:48 ` [PATCH 26/30] nfc: st21nfca: Add few code style fixes Christophe Ricard
     [not found] ` <1445377701-8353-1-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2015-10-20 21:47   ` [PATCH 04/30] nfc: nci: extract pipe value using NCI_HCP_MSG_GET_PIPE Christophe Ricard
2015-10-20 21:47   ` [PATCH 05/30] nfc: nci: add nci_hci_clear_all_pipes functions Christophe Ricard
2015-10-20 21:47   ` [PATCH 06/30] nfc: nci: Add a call to nci_hci_clear_all_pipes at HCI initial activation Christophe Ricard
2015-10-20 21:47   ` [PATCH 07/30] nfc: nci: add capability to create pipe on specific gate in nci_hci_connect_gate Christophe Ricard
2015-10-20 21:48   ` [PATCH 09/30] nfc: st21nfca: Remove hdev->init_data.gates initialization in load_session Christophe Ricard
2015-10-20 21:48   ` [PATCH 10/30] nfc: st-nci: Open NCI_HCI_LINK_MGMT_PIPE Christophe Ricard
2015-10-20 21:48   ` [PATCH 15/30] nfc: st-nci: Add support for NCI_HCI_IDENTITY_MGMT_GATE Christophe Ricard
2015-10-20 21:48   ` [PATCH 18/30] nfc: st-nci: Add support for proprietary commands for factory tests Christophe Ricard
     [not found]     ` <1445377701-8353-19-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2015-10-24  6:48       ` Samuel Ortiz [this message]
     [not found]         ` <20151024064835.GD23609-nKCvNrh56OoJmsy6czSMtA@public.gmane.org>
2015-10-24 12:19           ` Christophe Ricard
     [not found]             ` <562B7737.6000106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-25 15:50               ` Christophe Ricard
2015-10-25 17:17               ` Samuel Ortiz
     [not found]                 ` <20151025171748.GH23609-nKCvNrh56OoJmsy6czSMtA@public.gmane.org>
2015-10-25 19:31                   ` [linux-nfc] " Samuel Ortiz
2015-10-20 21:48   ` [PATCH 20/30] nfc: st-nci: Add ese-present/uicc-present dts properties Christophe Ricard
     [not found]     ` <1445377701-8353-21-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2015-10-22 18:37       ` Rob Herring
2015-10-24  6:48       ` Samuel Ortiz
2015-10-20 21:48   ` [PATCH 21/30] nfc: st-nci: Increase waiting time between 2 secure element activation Christophe Ricard
2015-10-20 21:48   ` [PATCH 24/30] nfc: netlink: Add suspend_target handler and nfc_reactivate_target Christophe Ricard
     [not found]     ` <1445377701-8353-25-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2015-10-24  6:49       ` Samuel Ortiz
2015-10-20 21:48   ` [PATCH 25/30] nfc: st-nci: Add few code style fixes Christophe Ricard
2015-10-20 21:48   ` [PATCH 27/30] nfc: st21nfca: Add support for proprietary commands for factory tests Christophe Ricard
2015-10-20 21:48   ` [PATCH 28/30] nfc: st-nci: Make sure irq is not already active when powering the device Christophe Ricard
2015-10-20 21:48   ` [PATCH 30/30] nfc: st-nci: Replace st21nfcb by st_nci in makefile Christophe Ricard
2015-10-20 21:48 ` [PATCH 29/30] nfc: st-nci: remove duplicated skb dump Christophe Ricard

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=20151024064835.GD23609@zurbaran.home \
    --to=sameo-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=christophe-h.ricard-qxv4g6HH51o@public.gmane.org \
    --cc=christophe.ricard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nfc-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).