diff options
Diffstat (limited to 'drivers/block/virtio_blk.c')
-rw-r--r-- | drivers/block/virtio_blk.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index cdfbd21e3597..655e570b9b31 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c | |||
@@ -28,8 +28,7 @@ struct virtio_blk_vq { | |||
28 | char name[VQ_NAME_LEN]; | 28 | char name[VQ_NAME_LEN]; |
29 | } ____cacheline_aligned_in_smp; | 29 | } ____cacheline_aligned_in_smp; |
30 | 30 | ||
31 | struct virtio_blk | 31 | struct virtio_blk { |
32 | { | ||
33 | struct virtio_device *vdev; | 32 | struct virtio_device *vdev; |
34 | 33 | ||
35 | /* The disk structure for the kernel. */ | 34 | /* The disk structure for the kernel. */ |
@@ -52,8 +51,7 @@ struct virtio_blk | |||
52 | struct virtio_blk_vq *vqs; | 51 | struct virtio_blk_vq *vqs; |
53 | }; | 52 | }; |
54 | 53 | ||
55 | struct virtblk_req | 54 | struct virtblk_req { |
56 | { | ||
57 | struct request *req; | 55 | struct request *req; |
58 | struct virtio_blk_outhdr out_hdr; | 56 | struct virtio_blk_outhdr out_hdr; |
59 | struct virtio_scsi_inhdr in_hdr; | 57 | struct virtio_scsi_inhdr in_hdr; |
@@ -575,6 +573,12 @@ static int virtblk_probe(struct virtio_device *vdev) | |||
575 | u16 min_io_size; | 573 | u16 min_io_size; |
576 | u8 physical_block_exp, alignment_offset; | 574 | u8 physical_block_exp, alignment_offset; |
577 | 575 | ||
576 | if (!vdev->config->get) { | ||
577 | dev_err(&vdev->dev, "%s failure: config access disabled\n", | ||
578 | __func__); | ||
579 | return -EINVAL; | ||
580 | } | ||
581 | |||
578 | err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS), | 582 | err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS), |
579 | GFP_KERNEL); | 583 | GFP_KERNEL); |
580 | if (err < 0) | 584 | if (err < 0) |