Skip to content

nx_icmp_interface_ping inhibits pre-emption causing interface driver faults #405

Description

@diggit

Describe the bug
calling nx_icmp_ping consequenctly calls _nx_icmp_interface_ping.
It inhibits preemption and then nests into packet tranmission.

This prevents any nested code to block, e.g.: to wait for shared resource or to wait until the packet hand over finishes in the interface driver. Necessary in the EMW3080 driver (LOCK, SEM_WAIT).

My setup:

To Reproduce
Steps to reproduce the behavior:

  1. Have a interface driver that requires some kind of blocking (resource locking, waiting for txn to finish etc.)
  2. Start some interface interaction (send packet, ....)
  3. Call nx_icmp_ping from other thread, whole the interface driver is busy

Expected behavior
_nx_icmp_interface_ping does not inhibit preemption thus allows interface driver to properly work

Impact
nx_icmp_ping now easily breaks the interface driver (mutexes, sempahores,.. do not work)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions