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:
parent
7f870c81a0
commit
7754f53e94
1 changed files with 6 additions and 0 deletions
|
@ -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");
|
||||||
|
|
Loading…
Reference in a new issue