aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2015-01-12 09:23:37 -0500
committerRusty Russell <rusty@rustcorp.com.au>2015-01-21 00:58:45 -0500
commita4379fd841cc1af60ef495b8e5598b1f7327ec0c (patch)
treeaa76c268d0ac57ed4a50b63bd694a9051af318fc /drivers/block
parent7754f53e944122fa95ef36039d3a5009910ce6fc (diff)
virtio/blk: verify device has config space
Some devices might not implement config space access (e.g. remoteproc used not to - before 3.9). virtio/blk needs config space access so make it fail gracefully if not there. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/virtio_blk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index cdfbd21e3597..b72c11a10f40 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -575,6 +575,12 @@ static int virtblk_probe(struct virtio_device *vdev)
575 u16 min_io_size; 575 u16 min_io_size;
576 u8 physical_block_exp, alignment_offset; 576 u8 physical_block_exp, alignment_offset;
577 577
578 if (!vdev->config->get) {
579 dev_err(&vdev->dev, "%s failure: config access disabled\n",
580 __func__);
581 return -EINVAL;
582 }
583
578 err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS), 584 err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS),
579 GFP_KERNEL); 585 GFP_KERNEL);
580 if (err < 0) 586 if (err < 0)