From 977102dbbd03c2a1e24994fbbf4f942d0ee43ca0 Mon Sep 17 00:00:00 2001 From: Waldemar Rymarkiewicz Date: Thu, 20 Sep 2012 08:59:10 +0200 Subject: [PATCH] --- yaml --- r: 328289 b: refs/heads/master c: 96e324024b421b3753eb142d5d92fbe4ac5e7519 h: refs/heads/master i: 328287: 7dd28ac8362282012e4e31372d7e26dc7a6f0bf1 v: v3 --- [refs] | 2 +- trunk/drivers/nfc/pn544_hci.c | 8 ++++++-- trunk/include/net/nfc/hci.h | 5 +++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 3096201123e3..fc15073593d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5adf54de97270256f6ec0e368ddde68ac516b692 +refs/heads/master: 96e324024b421b3753eb142d5d92fbe4ac5e7519 diff --git a/trunk/drivers/nfc/pn544_hci.c b/trunk/drivers/nfc/pn544_hci.c index 7b0c2176e89b..c9c8570273ab 100644 --- a/trunk/drivers/nfc/pn544_hci.c +++ b/trunk/drivers/nfc/pn544_hci.c @@ -235,8 +235,12 @@ static int pn544_hci_i2c_write(struct i2c_client *client, u8 *buf, int len) r = i2c_master_send(client, buf, len); } - if (r >= 0 && r != len) - r = -EREMOTEIO; + if (r >= 0) { + if (r != len) + return -EREMOTEIO; + else + return 0; + } return r; } diff --git a/trunk/include/net/nfc/hci.h b/trunk/include/net/nfc/hci.h index 9b5ed2d94d60..e900072950cb 100644 --- a/trunk/include/net/nfc/hci.h +++ b/trunk/include/net/nfc/hci.h @@ -30,6 +30,11 @@ struct nfc_hci_ops { int (*open) (struct nfc_hci_dev *hdev); void (*close) (struct nfc_hci_dev *hdev); int (*hci_ready) (struct nfc_hci_dev *hdev); + /* + * xmit must always send the complete buffer before + * returning. Returned result must be 0 for success + * or negative for failure. + */ int (*xmit) (struct nfc_hci_dev *hdev, struct sk_buff *skb); int (*start_poll) (struct nfc_hci_dev *hdev, u32 im_protocols, u32 tm_protocols);