When multiple receive frames need to be put together in pn533_build_response
we need to use nfc_alloc_recv_skb instead of the normal alloc_skb. Otherwise
the nfc core causes an skb error when it tries to push the status byte in
front of the data.

Signed-off-by: Michael Thalmeier <[email protected]>
---
 drivers/nfc/pn533/pn533.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nfc/pn533/pn533.c b/drivers/nfc/pn533/pn533.c
index c06d22f..ae13277 100644
--- a/drivers/nfc/pn533/pn533.c
+++ b/drivers/nfc/pn533/pn533.c
@@ -1942,7 +1942,7 @@ static struct sk_buff *pn533_build_response(struct pn533 
*dev)
        dev_dbg(dev->dev, "%s total length %d\n",
                __func__, skb_len);
 
-       skb = alloc_skb(skb_len, GFP_KERNEL);
+       skb = nfc_alloc_recv_skb(skb_len, GFP_KERNEL);
        if (skb == NULL)
                goto out;
 
-- 
2.5.5

Reply via email to