[Bug 2154] New: a bug : function bsp_interrupt_handler_remove in file c/src/lib/libbsp/shared/src/irq-generic.c

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Fri Nov 29 03:35:06 UTC 2013


https://www.rtems.org/bugzilla/show_bug.cgi?id=2154

             Bug #: 2154
           Summary: a bug :  function bsp_interrupt_handler_remove in file
                    c/src/lib/libbsp/shared/src/irq-generic.c
    Classification: Unclassified
           Product: RTEMS
           Version: HEAD
          Platform: All
        OS/Version: RTEMS
            Status: NEW
          Severity: normal
          Priority: P3
         Component: bsps
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: venture.g at gmail.com


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.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list