summaryrefslogtreecommitdiff
path: root/drivers/nfc/pn533/usb.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-06-07 15:54:48 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-06-25 21:36:45 +0800
commitecc443c03fb14abfb8a6af5e3b2d43b5257e60f2 (patch)
treeacbccc06ada4eae916a114e2d0400eb830a0dcf6 /drivers/nfc/pn533/usb.c
parent4a762569a2722b8a48066c7bacf0e1dc67d17fa1 (diff)
NFC: pn533: Fix wrong GFP flag usage
pn533_recv_response() is an urb completion handler, so it must use GFP_ATOMIC. pn533_usb_send_frame() OTOH runs from a regular sleeping context, so the pn533_submit_urb_for_response() there (and only there) can use the regular GFP_KERNEL flags. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514134 Fixes: 9815c7cf22da ("NFC: pn533: Separate physical layer from ...") Cc: Michael Thalmeier <michael.thalmeier@hale.at> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nfc/pn533/usb.c')
-rw-r--r--drivers/nfc/pn533/usb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/nfc/pn533/usb.c b/drivers/nfc/pn533/usb.c
index d5553c47014f..5d823e965883 100644
--- a/drivers/nfc/pn533/usb.c
+++ b/drivers/nfc/pn533/usb.c
@@ -74,7 +74,7 @@ static void pn533_recv_response(struct urb *urb)
struct sk_buff *skb = NULL;
if (!urb->status) {
- skb = alloc_skb(urb->actual_length, GFP_KERNEL);
+ skb = alloc_skb(urb->actual_length, GFP_ATOMIC);
if (!skb) {
nfc_err(&phy->udev->dev, "failed to alloc memory\n");
} else {
@@ -186,7 +186,7 @@ static int pn533_usb_send_frame(struct pn533 *dev,
if (dev->protocol_type == PN533_PROTO_REQ_RESP) {
/* request for response for sent packet directly */
- rc = pn533_submit_urb_for_response(phy, GFP_ATOMIC);
+ rc = pn533_submit_urb_for_response(phy, GFP_KERNEL);
if (rc)
goto error;
} else if (dev->protocol_type == PN533_PROTO_REQ_ACK_RESP) {