diff --git a/drivers/fet.c b/drivers/fet.c index 5236b49..749285b 100644 --- a/drivers/fet.c +++ b/drivers/fet.c @@ -768,9 +768,12 @@ static void fet_destroy(device_t dev_base) { struct fet_device *dev = (struct fet_device *)dev_base; - if (xfer(dev, C_RESET, NULL, 0, 3, FET_RESET_ALL, 1, 1) < 0) + if (xfer(dev, C_RESET, NULL, 0, 3, FET_RESET_ALL, 0, 0) < 0) printc_err("fet: final reset failed\n"); + if (xfer(dev, C_RUN, NULL, 0, 2, FET_RUN_FREE, 0) < 0) + printc_err("fet: failed to restart CPU\n"); + if (xfer(dev, C_CLOSE, NULL, 0, 1, 0) < 0) printc_err("fet: close command failed\n");