diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2015-01-12 16:23:37 +0200 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2015-01-21 16:28:45 +1030 |
commit | 7754f53e944122fa95ef36039d3a5009910ce6fc (patch) | |
tree | 71b287d6c4585270ce40b22764577a9c8afbace0 /net | |
parent | 7f870c81a068fd1e69fe556f7fe85a5ece144b0c (diff) | |
download | linux-7754f53e944122fa95ef36039d3a5009910ce6fc.tar.bz2 |
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/9p/trans_virtio.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index daa749c8b3fb..d8e376a5f0f1 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c @@ -524,6 +524,12 @@ static int p9_virtio_probe(struct virtio_device *vdev) int err; 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); if (!chan) { pr_err("Failed to allocate virtio 9P channel\n"); |