Skip to content

Commit

Permalink
NFC: NFC core layer should not set the target_idx
Browse files Browse the repository at this point in the history
The NFC core layer should not set the target_idx.
Instead, the driver layer (e.g. NCI, PN533) should set the
target_idx, so that it will be able to identify the target
when its I/F (e.g. activate_target) is called.
This is required in order to support multiple targets.
Note that currently supported drivers (PN533 and NCI) don't
use the target_idx in their implementation.

Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Ilan Elias authored and John W. Linville committed Jan 24, 2012
1 parent 8939e47 commit 25a1d9d
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 18 deletions.
1 change: 0 additions & 1 deletion include/net/nfc/nfc.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ struct nfc_genl_data {

struct nfc_dev {
unsigned idx;
unsigned target_idx;
struct nfc_target *targets;
int n_targets;
int targets_generation;
Expand Down
5 changes: 0 additions & 5 deletions net/nfc/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -431,15 +431,10 @@ EXPORT_SYMBOL(nfc_alloc_recv_skb);
int nfc_targets_found(struct nfc_dev *dev, struct nfc_target *targets,
int n_targets)
{
int i;

pr_debug("dev_name=%s n_targets=%d\n", dev_name(&dev->dev), n_targets);

dev->polling = false;

for (i = 0; i < n_targets; i++)
targets[i].idx = dev->target_idx++;

spin_lock_bh(&dev->targets_lock);

dev->targets_generation++;
Expand Down
12 changes: 0 additions & 12 deletions net/nfc/rawsock.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,6 @@ static int rawsock_connect(struct socket *sock, struct sockaddr *_addr,
goto error;
}

if (addr->target_idx > dev->target_idx - 1 ||
addr->target_idx < dev->target_idx - dev->n_targets) {
rc = -EINVAL;
goto error;
}

if (addr->target_idx > dev->target_idx - 1 ||
addr->target_idx < dev->target_idx - dev->n_targets) {
rc = -EINVAL;
goto error;
}

rc = nfc_activate_target(dev, addr->target_idx, addr->nfc_protocol);
if (rc)
goto put_dev;
Expand Down

0 comments on commit 25a1d9d

Please sign in to comment.