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
next prev 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).