docs: release: migration-guide: 3.7: list CAN bus-off recovery changes
List the changes to the CAN bus-off recovery functionality.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
diff --git a/doc/releases/migration-guide-3.7.rst b/doc/releases/migration-guide-3.7.rst
index f2867bf..64763e0 100644
--- a/doc/releases/migration-guide-3.7.rst
+++ b/doc/releases/migration-guide-3.7.rst
@@ -58,6 +58,24 @@
* ``phase-seg1-data``
* ``phase-seg1-data``
+* Support for manual bus-off recovery was reworked:
+
+ * Automatic bus recovery will always be enabled upon driver initialization regardless of Kconfig
+ options. Since CAN controllers are initialized in "stopped" state, no unwanted bus-off recovery
+ will be started at this point.
+ * The Kconfig ``CONFIG_CAN_AUTO_BUS_OFF_RECOVERY`` was renamed (and inverted) to
+ :kconfig:option:`CONFIG_CAN_MANUAL_RECOVERY_MODE`, which is disabled by default. This Kconfig
+ option enables support for the :c:func:`can_recover()` API function and a new manual recovery mode
+ (see the next bullet).
+ * A new CAN controller operational mode :c:macro:`CAN_MODE_MANUAL_RECOVERY` was added. Support for
+ this is only enabled if :kconfig:option:`CONFIG_CAN_MANUAL_RECOVERY_MODE` is enabled. Having
+ this as a mode allows applications to inquire whether the CAN controller supports manual
+ recovery mode via the :c:func:`can_get_capabilities` API function. The application can then
+ either fail initialization or rely on automatic bus-off recovery. Having this as a mode
+ furthermore allows CAN controller drivers not supporting manual recovery mode to fail early in
+ :c:func:`can_set_mode` during application startup instead of failing when :c:func:`can_recover`
+ is called at a later point in time.
+
Display
=======