serial: stm32: unconditional policy locks for async TX
When using the asynchronous TX API, skip the `data->pm_policy_state_on`
checks for PM policy updates. This fixes two issues:
* State conflicts with the `poll_out` implementation when both APIs are
used on the same port, resulting in the SoC sleeping while
transmissions are running.
* Scheduling a TX from the `TX_DONE` callback resulting in the PM
policy not being applied, resulting in TX errors.
Every call to `uart_tx` should have a corresponding `TX_DONE` event
generated, which makes the raw (reference counted) calls to
`pm_policy_state_lock_put/get` the correct API to use here.
Signed-off-by:
Jordan Yates <jordan@embeint.com>
Loading
Please sign in to comment