usb: diag_bridge: Fix memory allocation flags
diag_bridge_read and diag_bridge_write can potentially be called within
interrupt context so change allocation flags to GFP_ATOMIC to accommodate
those cases.
Change-Id: I065efea3264038670745ad6c51fc5def72ac3b76
Signed-off-by: Jack Pham <jackp@codeaurora.org>
diff --git a/drivers/usb/misc/diag_bridge.c b/drivers/usb/misc/diag_bridge.c
index 11f9ef6..00b2ec1 100644
--- a/drivers/usb/misc/diag_bridge.c
+++ b/drivers/usb/misc/diag_bridge.c
@@ -97,7 +97,7 @@
return -ENODEV;
}
- urb = usb_alloc_urb(0, GFP_KERNEL);
+ urb = usb_alloc_urb(0, GFP_ATOMIC);
if (!urb) {
dev_err(&dev->udev->dev, "unable to allocate urb\n");
return -ENOMEM;
@@ -108,7 +108,7 @@
diag_bridge_read_cb, dev);
usb_anchor_urb(urb, &dev->submitted);
- ret = usb_submit_urb(urb, GFP_KERNEL);
+ ret = usb_submit_urb(urb, GFP_ATOMIC);
if (ret) {
dev_err(&dev->udev->dev, "submitting urb failed err:%d\n", ret);
usb_unanchor_urb(urb);
@@ -154,7 +154,7 @@
return -ENODEV;
}
- urb = usb_alloc_urb(0, GFP_KERNEL);
+ urb = usb_alloc_urb(0, GFP_ATOMIC);
if (!urb) {
err("unable to allocate urb");
return -ENOMEM;
@@ -165,7 +165,7 @@
diag_bridge_write_cb, dev);
usb_anchor_urb(urb, &dev->submitted);
- ret = usb_submit_urb(urb, GFP_KERNEL);
+ ret = usb_submit_urb(urb, GFP_ATOMIC);
if (ret) {
err("submitting urb failed err:%d", ret);
usb_unanchor_urb(urb);