summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorDom Cobley <popcornmix@gmail.com>2024-10-17 15:18:36 +0100
committerDom Cobley <popcornmix@gmail.com>2024-10-17 15:18:36 +0100
commit8ee418c866c263941fb468bc1eeab1d8059db705 (patch)
tree0639a9864728cd14931a8ded769acc485422e1f2 /drivers/char
parent84ab77459e61c648299d32464127b89ca65de40a (diff)
parente9448e371c87c76f9133bb3b27918854f4dc087b (diff)
downloadlinux-rpi-8ee418c866c263941fb468bc1eeab1d8059db705.tar.gz
linux-rpi-8ee418c866c263941fb468bc1eeab1d8059db705.tar.bz2
linux-rpi-8ee418c866c263941fb468bc1eeab1d8059db705.zip
Merge remote-tracking branch 'stable/linux-6.6.y' into rpi-6.6.y
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/virtio_console.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 680d1ef2a217..796ab9a4e48f 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -2052,25 +2052,27 @@ static int virtcons_probe(struct virtio_device *vdev)
multiport = true;
}
- err = init_vqs(portdev);
- if (err < 0) {
- dev_err(&vdev->dev, "Error %d initializing vqs\n", err);
- goto free_chrdev;
- }
-
spin_lock_init(&portdev->ports_lock);
INIT_LIST_HEAD(&portdev->ports);
INIT_LIST_HEAD(&portdev->list);
- virtio_device_ready(portdev->vdev);
-
INIT_WORK(&portdev->config_work, &config_work_handler);
INIT_WORK(&portdev->control_work, &control_work_handler);
if (multiport) {
spin_lock_init(&portdev->c_ivq_lock);
spin_lock_init(&portdev->c_ovq_lock);
+ }
+ err = init_vqs(portdev);
+ if (err < 0) {
+ dev_err(&vdev->dev, "Error %d initializing vqs\n", err);
+ goto free_chrdev;
+ }
+
+ virtio_device_ready(portdev->vdev);
+
+ if (multiport) {
err = fill_queue(portdev->c_ivq, &portdev->c_ivq_lock);
if (err < 0) {
dev_err(&vdev->dev,