Skip to content

Commit

Permalink
uas: Use GFP_NOIO rather then GFP_ATOMIC where possible
Browse files Browse the repository at this point in the history
We can sleep in our own workqueue (which is the whole reason for having
it), and scsi error handlers are also always called from a context which
may sleep.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
  • Loading branch information
Hans de Goede authored and Sarah Sharp committed Mar 4, 2014
1 parent b83b86a commit e36e649
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/usb/storage/uas.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,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);
err = uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_ATOMIC);
err = uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_NOIO);
if (!err) {
cmdinfo->state &= ~IS_IN_WORK_LIST;
list_del(&cmdinfo->work);
Expand Down Expand Up @@ -745,7 +745,7 @@ static int uas_eh_task_mgmt(struct scsi_cmnd *cmnd,

devinfo->running_task = 1;
memset(&devinfo->response, 0, sizeof(devinfo->response));
sense_urb = uas_submit_sense_urb(shost, GFP_ATOMIC, tag);
sense_urb = uas_submit_sense_urb(shost, GFP_NOIO, tag);
if (!sense_urb) {
shost_printk(KERN_INFO, shost,
"%s: %s: submit sense urb failed\n",
Expand All @@ -754,7 +754,7 @@ static int uas_eh_task_mgmt(struct scsi_cmnd *cmnd,
spin_unlock_irqrestore(&devinfo->lock, flags);
return FAILED;
}
if (uas_submit_task_urb(cmnd, GFP_ATOMIC, function, tag)) {
if (uas_submit_task_urb(cmnd, GFP_NOIO, function, tag)) {
shost_printk(KERN_INFO, shost,
"%s: %s: submit task mgmt urb failed\n",
__func__, fname);
Expand Down

0 comments on commit e36e649

Please sign in to comment.