diff options
author | Matthew Wilcox <matthew@wil.cx> | 2010-12-15 15:44:06 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-12-15 18:26:44 -0500 |
commit | 0b83ae960cd7d4a5ee02786ecf41ab45688999bf (patch) | |
tree | 656114c334d106dc831fae37b7348f7ea00d53f8 /drivers/usb/storage/uas.c | |
parent | 89dc29051b626756e69db12f3ffb22e49a817bfe (diff) |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 52e5ec1b2e8a..8d58c6316111 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) | |||
141 | struct scsi_pointer *scp = (void *)cmdinfo; | 141 | struct scsi_pointer *scp = (void *)cmdinfo; |
142 | struct scsi_cmnd *cmnd = container_of(scp, | 142 | struct scsi_cmnd *cmnd = container_of(scp, |
143 | struct scsi_cmnd, SCp); | 143 | struct scsi_cmnd, SCp); |
144 | uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_KERNEL); | 144 | uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_NOIO); |
145 | } | 145 | } |
146 | } | 146 | } |
147 | 147 | ||