virtio/9p: verify device has config space

Some devices might not implement config space access
(e.g. remoteproc used not to - before 3.9).
virtio/9p 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:
Michael S. Tsirkin 2015-01-12 16:23:37 +02:00 committed by Rusty Russell
parent 7f870c81a0
commit 7754f53e94

View file

@ -524,6 +524,12 @@ static int p9_virtio_probe(struct virtio_device *vdev)
int err; int err;
struct virtio_chan *chan; struct virtio_chan *chan;
if (!vdev->config->get) {
dev_err(&vdev->dev, "%s failure: config access disabled\n",
__func__);
return -EINVAL;
}
chan = kmalloc(sizeof(struct virtio_chan), GFP_KERNEL); chan = kmalloc(sizeof(struct virtio_chan), GFP_KERNEL);
if (!chan) { if (!chan) {
pr_err("Failed to allocate virtio 9P channel\n"); pr_err("Failed to allocate virtio 9P channel\n");