#2154 closed defect (invalid)

a bug : function bsp_interrupt_handler_remove in file c/src/lib/libbsp/shared/src/irq-generic.c

Reported by: venture.g Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: bsps Version: 4.11
Severity: normal Keywords:
Cc: sebastian.huber@… Blocked By:
Blocking:

Description

for example, multiple service routines are allowed to be connected to interrupt vector 2.

vector 2

a------> b -----> c

`bsp_interrupt_handler_remove' is called to remove service routine a.

the following branch is entered.

if (match != NULL){

if (match->next != NULL) {

current = match->next;
rtems_interrupt_disable(level);
*match = *current;
rtems_interrupt_enable(level);
bsp_interrupt_free_handler_entry(current);

}

After this, service routines will look like this:

vector 2

b------> -----> c

service routine c is lost forever.

Change History (3)

comment:1 Changed on Nov 29, 2013 at 7:42:22 AM by Sebastian Huber

Cc: Sebastian Huber added

comment:2 Changed on Dec 5, 2013 at 9:08:33 AM by Sebastian Huber

Resolution: invalid
Status: newclosed

Replying to comment:2:

yes, you are right.

Sorry, I am kind of carelessness. Maybe I should post my questions to the mail
list.

And confirm it before I submit it.

No problem at all. I am happy for every bug report.

comment:3 Changed on Nov 24, 2014 at 6:58:28 PM by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Note: See TracTickets for help on using tickets.