Skip to content

Commit

Permalink
NFC: pn533: Send ATR_REQ only if NFC_PROTO_NFC_DEP bit is set
Browse files Browse the repository at this point in the history
Currently it is not possible to only poll for passive targets
with the pn533 driver. To change this ATR_REQ is only sent when
NFC_PROTO_NFC_DEP is explicitly requested in poll_protocols.
As most implementations (e.g. neard) poll for all protocols
that are reported to be supported by the adapter, this should
not have much of an effect on current implementations.

Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Michael Thalmeier authored and Samuel Ortiz committed Apr 9, 2016
1 parent 03c5b53 commit e997ebb
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/nfc/pn533.c
Original file line number Diff line number Diff line change
Expand Up @@ -1540,7 +1540,8 @@ static int pn533_start_poll_complete(struct pn533 *dev, struct sk_buff *resp)
int rc, tgdata_len;

/* Toggle the DEP polling */
dev->poll_dep = 1;
if (dev->poll_protocols & NFC_PROTO_NFC_DEP_MASK)
dev->poll_dep = 1;

nbtg = resp->data[0];
tg = resp->data[1];
Expand Down Expand Up @@ -2054,7 +2055,7 @@ static int pn533_send_poll_frame(struct pn533 *dev)
dev_dbg(&dev->interface->dev, "%s mod len %d\n",
__func__, mod->len);

if (dev->poll_dep) {
if ((dev->poll_protocols & NFC_PROTO_NFC_DEP_MASK) && dev->poll_dep) {
dev->poll_dep = 0;
return pn533_poll_dep(dev->nfc_dev);
}
Expand Down

0 comments on commit e997ebb

Please sign in to comment.