summaryrefslogtreecommitdiff
path: root/drivers/nfc/pn533
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-04-18 10:45:02 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-04-18 10:45:02 +0200
commit6e93ccc29258103e1fc652464b4ff75bc022da73 (patch)
tree85f741fa600ee0745b818a8c9cfdfc9b5b824c86 /drivers/nfc/pn533
parent327d73d5ef3ac25ffb58648c2c588c897b7efc41 (diff)
parent47a33eea6d5145d53e42315381ef28286c2218fb (diff)
Merge v6.18.23linux-rolling-lts
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nfc/pn533')
-rw-r--r--drivers/nfc/pn533/uart.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/nfc/pn533/uart.c b/drivers/nfc/pn533/uart.c
index 49c399a571750..3aacfc79fa72f 100644
--- a/drivers/nfc/pn533/uart.c
+++ b/drivers/nfc/pn533/uart.c
@@ -211,6 +211,13 @@ static size_t pn532_receive_buf(struct serdev_device *serdev,
timer_delete(&dev->cmd_timeout);
for (i = 0; i < count; i++) {
+ if (!dev->recv_skb) {
+ dev->recv_skb = alloc_skb(PN532_UART_SKB_BUFF_LEN,
+ GFP_KERNEL);
+ if (!dev->recv_skb)
+ return i;
+ }
+
if (unlikely(!skb_tailroom(dev->recv_skb)))
skb_trim(dev->recv_skb, 0);
@@ -219,9 +226,7 @@ static size_t pn532_receive_buf(struct serdev_device *serdev,
continue;
pn533_recv_frame(dev->priv, dev->recv_skb, 0);
- dev->recv_skb = alloc_skb(PN532_UART_SKB_BUFF_LEN, GFP_KERNEL);
- if (!dev->recv_skb)
- return 0;
+ dev->recv_skb = NULL;
}
return i;