Skip to content

Nanostack RF driver callbacks not ISR-safe #4533

@stevew817

Description

@stevew817

@SeppoTakalo @sg-

Now that RTX5 is going to get switched on, and mutexes are no longer disabled, I encountered the following:

osMutexAcquire(critical_mutex_id, osWaitForever);

In its documentation, Nanostack defines the enter_ & exit_critical functions as turning on and off global interrupts. This works when calling the stack from an ISR context, such as a radio receive callback in an RF SoC.
However, now that there is a mutex in the way, this no longer works. Nowhere in the documentation specifies that radio drivers should be thread- and mutex safe. And since nanostack already has its own eventOS, why require it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions