mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
virtio: Avoid strange behaviour on removal
This device does a check on removal which is better handled in the actual test. Move it. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
811c81e889
commit
902400201d
2 changed files with 3 additions and 13 deletions
|
@ -167,18 +167,6 @@ static int virtio_sandbox_probe(struct udevice *udev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* check virtio device driver's remove routine was called to reset the device */
|
||||
static int virtio_sandbox_child_post_remove(struct udevice *vdev)
|
||||
{
|
||||
u8 status;
|
||||
|
||||
virtio_get_status(vdev, &status);
|
||||
if (status)
|
||||
panic("virtio device was not reset\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct dm_virtio_ops virtio_sandbox1_ops = {
|
||||
.get_config = virtio_sandbox_get_config,
|
||||
.set_config = virtio_sandbox_set_config,
|
||||
|
@ -203,7 +191,6 @@ U_BOOT_DRIVER(virtio_sandbox1) = {
|
|||
.of_match = virtio_sandbox1_ids,
|
||||
.ops = &virtio_sandbox1_ops,
|
||||
.probe = virtio_sandbox_probe,
|
||||
.child_post_remove = virtio_sandbox_child_post_remove,
|
||||
.priv_auto = sizeof(struct virtio_sandbox_priv),
|
||||
};
|
||||
|
||||
|
|
|
@ -100,6 +100,7 @@ DM_TEST(dm_test_virtio_all_ops, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
|
|||
static int dm_test_virtio_remove(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *bus, *dev;
|
||||
u8 status;
|
||||
|
||||
/* check probe success */
|
||||
ut_assertok(uclass_first_device_err(UCLASS_VIRTIO, &bus));
|
||||
|
@ -117,6 +118,8 @@ static int dm_test_virtio_remove(struct unit_test_state *uts)
|
|||
ut_asserteq(-EKEYREJECTED, device_remove(bus, DM_REMOVE_ACTIVE_ALL));
|
||||
|
||||
ut_asserteq(false, device_active(dev));
|
||||
virtio_get_status(dev, &status);
|
||||
ut_assertok(status);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue