Skip to content

Commit a940342

Browse files
davidhildenbrandmstsirkin
authored andcommitted
virtio-mem: mark device ready before registering callbacks in kdump mode
After the callbacks are registered we may immediately get a callback. So mark the device ready before registering the callbacks. Signed-off-by: David Hildenbrand <[email protected]> Message-Id: <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
1 parent 7ad4d1f commit a940342

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/virtio/virtio_mem.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2648,6 +2648,7 @@ static int virtio_mem_init_hotplug(struct virtio_mem *vm)
26482648
if (rc)
26492649
goto out_unreg_pm;
26502650

2651+
virtio_device_ready(vm->vdev);
26512652
return 0;
26522653
out_unreg_pm:
26532654
unregister_pm_notifier(&vm->pm_notifier);
@@ -2729,6 +2730,8 @@ static bool virtio_mem_vmcore_pfn_is_ram(struct vmcore_cb *cb,
27292730

27302731
static int virtio_mem_init_kdump(struct virtio_mem *vm)
27312732
{
2733+
/* We must be prepared to receive a callback immediately. */
2734+
virtio_device_ready(vm->vdev);
27322735
#ifdef CONFIG_PROC_VMCORE
27332736
dev_info(&vm->vdev->dev, "memory hot(un)plug disabled in kdump kernel\n");
27342737
vm->vmcore_cb.pfn_is_ram = virtio_mem_vmcore_pfn_is_ram;
@@ -2870,8 +2873,6 @@ static int virtio_mem_probe(struct virtio_device *vdev)
28702873
if (rc)
28712874
goto out_del_vq;
28722875

2873-
virtio_device_ready(vdev);
2874-
28752876
/* trigger a config update to start processing the requested_size */
28762877
if (!vm->in_kdump) {
28772878
atomic_set(&vm->config_changed, 1);

0 commit comments

Comments
 (0)