Hi Michael, On Thu, Apr 21, 2016 at 04:43:57PM +0200, Michael Thalmeier wrote: > 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 <michael.thalme...@hale.at> > --- > 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); That looks reasonable. What surprises me is that I'm pretty sure this got tested (MI bit set on the Rx path)... Do you get the error from rawsock_add_header() ?
Cheers, Samuel.