Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NetDev_ISR_Handler()

...

A device’s ISR_Handler() function is used to handle each device’s interrupts. See section 7-5-5 “NetDev_ISR_Handler()” on page 164 for more details on how to handle each device’s interrupts. Anchor11147441114744

Files

Anchor11116791111679Every device driver’s net_dev.c Anchor11116851111685

Prototype

anchor 11233561123356

 

...

rowspan2

...

1111686Note that since every device driver’s ISR_Handler() function is accessed only by function pointer via the device driver’s API structure, it doesn’t need to be globally available and should therefore be declared as ‘static’static. Anchor11116871111687

Arguments

Anchor11116881111688pif Anchor11320441132044

Pointer to the interface to handle network device interrupts.

Anchor11116911111691type Anchor11320461132046

Device’s interrupt type:

...

...

NET_DEV_ISR_TYPE_UNKNOWN

...

NET_DEV_ISR_TYPE_RX

...

...

NET_DEV_ISR_TYPE_RX_RUNT

...

...

NET_DEV_ISR_TYPE_RX_OVERRUN

...

NET_DEV_ISR_TYPE_TX_RDY

...

NET_DEV_ISR_TYPE_TX_COMPLETE

...

...

NET_DEV_ISR_TYPE_TX_COLLISION_LATE

...

NET_DEV_ISR_TYPE_TX_COLLISION_EXCESS

...

...

NET_DEV_ISR_TYPE_JABBER

...

...

NET_DEV_ISR_TYPE_BABBLE

...

NET_DEV_ISR_TYPE_PHY

...

...

Returned Value

...

1111693None. Anchor11116941111694

Required Configuration

...

11116951111695None. Anchor11116961111696

Notes / Warnings

...

Each device’s NetDev_ISR_Handler() should never return early but check all applicable interrupt sources to see if they are active. This additional checking is necessary because multiple interrupt sources may be set within the interrupt response time and will reduce the number and overhead of handling interrupts.