summaryrefslogtreecommitdiffstats
path: root/drivers/vhost/scsi.c
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2013-11-07 17:34:46 +0100
committerRob Herring <rob.herring@calxeda.com>2013-11-07 17:34:46 +0100
commitb5480950c6cbb7b07ab1c1a5af0dc661a1cb6f24 (patch)
treeb5fcb00387a838beb2bcf2f8ed2fd3d6d460c8ae /drivers/vhost/scsi.c
parentMIPS: Netlogic: replace early_init_devtree() call (diff)
parentof/irq: Fix potential buffer overflow (diff)
downloadlinux-b5480950c6cbb7b07ab1c1a5af0dc661a1cb6f24.tar.xz
linux-b5480950c6cbb7b07ab1c1a5af0dc661a1cb6f24.zip
Merge remote-tracking branch 'grant/devicetree/next' into for-next
Diffstat (limited to 'drivers/vhost/scsi.c')
-rw-r--r--drivers/vhost/scsi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index 592b31698fc8..ce5221fa393a 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -728,7 +728,12 @@ vhost_scsi_get_tag(struct vhost_virtqueue *vq,
}
se_sess = tv_nexus->tvn_se_sess;
- tag = percpu_ida_alloc(&se_sess->sess_tag_pool, GFP_KERNEL);
+ tag = percpu_ida_alloc(&se_sess->sess_tag_pool, GFP_ATOMIC);
+ if (tag < 0) {
+ pr_err("Unable to obtain tag for tcm_vhost_cmd\n");
+ return ERR_PTR(-ENOMEM);
+ }
+
cmd = &((struct tcm_vhost_cmd *)se_sess->sess_cmd_map)[tag];
sg = cmd->tvc_sgl;
pages = cmd->tvc_upages;