virtio/scsi: verify device has config space
Some devices might not implement config space access (e.g. remoteproc used not to - before 3.9). virtio/scsi 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>
This commit is contained in:
Родитель
6ba422489b
Коммит
8cab3cd6ad
|
@ -950,6 +950,12 @@ static int virtscsi_probe(struct virtio_device *vdev)
|
||||||
u32 num_queues;
|
u32 num_queues;
|
||||||
struct scsi_host_template *hostt;
|
struct scsi_host_template *hostt;
|
||||||
|
|
||||||
|
if (!vdev->config->get) {
|
||||||
|
dev_err(&vdev->dev, "%s failure: config access disabled\n",
|
||||||
|
__func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
/* We need to know how many queues before we allocate. */
|
/* We need to know how many queues before we allocate. */
|
||||||
num_queues = virtscsi_config_get(vdev, num_queues) ? : 1;
|
num_queues = virtscsi_config_get(vdev, num_queues) ? : 1;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче