From: Oliver Neukum <oliver@neukum.org>
Date: Wed, 26 Aug 2009 17:56:12 +0000 (+0200)
Subject: USB: storage: fix a resume path GFP_NOIO must be used
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e5dc8ae121592239c2a2521d383bcb789849b2a3;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

USB: storage: fix a resume path GFP_NOIO must be used

In the resume path of a block driver GFP_NOIO must be used to
avoid a possible deadlock. The onetouch subdriver of storage violates
the requirement.

Signed-off-by: Oliver Neukum <oliver@neukum.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---

diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c
index 380233bd6a39..80e65f29921c 100644
--- a/drivers/usb/storage/onetouch.c
+++ b/drivers/usb/storage/onetouch.c
@@ -163,7 +163,7 @@ static void usb_onetouch_pm_hook(struct us_data *us, int action)
 			usb_kill_urb(onetouch->irq);
 			break;
 		case US_RESUME:
-			if (usb_submit_urb(onetouch->irq, GFP_KERNEL) != 0)
+			if (usb_submit_urb(onetouch->irq, GFP_NOIO) != 0)
 				dev_err(&onetouch->irq->dev->dev,
 					"usb_submit_urb failed\n");
 			break;