diff options
| author | Johannes Berg <[email protected]> | 2025-01-10 12:54:05 +0000 |
|---|---|---|
| committer | Richard Weinberger <[email protected]> | 2025-02-12 22:40:55 +0000 |
| commit | daa1a05ba431540097ec925d4e01d53ef29a98f1 (patch) | |
| tree | 127413cc1e39fb48fab12567d40f61b621352f1d /arch/um/drivers/virtio_uml.c | |
| parent | um: virt-pci: don't use kmalloc() (diff) | |
| download | kernel-daa1a05ba431540097ec925d4e01d53ef29a98f1.tar.gz kernel-daa1a05ba431540097ec925d4e01d53ef29a98f1.zip | |
um: virtio_uml: use raw spinlock
This is needed because at least in time-travel the code
can be called directly from the deep architecture and
IRQ handling code.
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Richard Weinberger <[email protected]>
Diffstat (limited to 'arch/um/drivers/virtio_uml.c')
| -rw-r--r-- | arch/um/drivers/virtio_uml.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c index 65df43fa9be5..ad8d78fb1d9a 100644 --- a/arch/um/drivers/virtio_uml.c +++ b/arch/um/drivers/virtio_uml.c @@ -52,7 +52,7 @@ struct virtio_uml_device { struct platform_device *pdev; struct virtio_uml_platform_data *pdata; - spinlock_t sock_lock; + raw_spinlock_t sock_lock; int sock, req_fd, irq; u64 features; u64 protocol_features; @@ -246,7 +246,7 @@ static int vhost_user_send(struct virtio_uml_device *vu_dev, if (request_ack) msg->header.flags |= VHOST_USER_FLAG_NEED_REPLY; - spin_lock_irqsave(&vu_dev->sock_lock, flags); + raw_spin_lock_irqsave(&vu_dev->sock_lock, flags); rc = full_sendmsg_fds(vu_dev->sock, msg, size, fds, num_fds); if (rc < 0) goto out; @@ -266,7 +266,7 @@ static int vhost_user_send(struct virtio_uml_device *vu_dev, } out: - spin_unlock_irqrestore(&vu_dev->sock_lock, flags); + raw_spin_unlock_irqrestore(&vu_dev->sock_lock, flags); return rc; } @@ -1239,7 +1239,7 @@ static int virtio_uml_probe(struct platform_device *pdev) goto error_free; vu_dev->sock = rc; - spin_lock_init(&vu_dev->sock_lock); + raw_spin_lock_init(&vu_dev->sock_lock); rc = vhost_user_init(vu_dev); if (rc) |
