aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage/uas.c
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2010-12-15 15:44:06 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-15 15:26:44 -0800
commit0b83ae960cd7d4a5ee02786ecf41ab45688999bf (patch)
tree656114c334d106dc831fae37b7348f7ea00d53f8 /drivers/usb/storage/uas.c
parent89dc29051b626756e69db12f3ffb22e49a817bfe (diff)
downloadlinux-0b83ae960cd7d4a5ee02786ecf41ab45688999bf.tar.gz
USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path
If swap is on a UAS device, we could recurse into the driver by using GFP_KERNEL. Using GFP_NOIO ensures we won't. Reported-by: James Bottomley <James.Bottomley@suse.de> Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/storage/uas.c')
-rw-r--r--drivers/usb/storage/uas.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 52e5ec1b2e8aa9..8d58c631611100 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -141,7 +141,7 @@ static void uas_do_work(struct work_struct *work)
struct scsi_pointer *scp = (void *)cmdinfo;
struct scsi_cmnd *cmnd = container_of(scp,
struct scsi_cmnd, SCp);
- uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_KERNEL);
+ uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_NOIO);
}
}