Commit 3aae9d1f authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Fix OS_ClaimDeviceVector getting the 'shared IRQ' flag the wrong way round

Detail:
  c/irqdespatch - Fix our OS_ClaimDeviceVector implementation getting the 'shared IRQ' flag the wrong way round, causing interrupts to be incorrectly handled
Admin:
  Tested on wandboard


Version 0.04. Tagged as 'SMP-0_04'
parent 99066177
/* (0.03)
/* (0.04)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.03
#define Module_MajorVersion_CMHG 0.04
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 10 Sep 2017
#define Module_Date_CMHG 16 Feb 2018
#define Module_MajorVersion "0.03"
#define Module_Version 3
#define Module_MajorVersion "0.04"
#define Module_Version 4
#define Module_MinorVersion ""
#define Module_Date "10 Sep 2017"
#define Module_Date "16 Feb 2018"
#define Module_ApplicationDate "10-Sep-17"
#define Module_ApplicationDate "16-Feb-18"
#define Module_ComponentName "SMP"
#define Module_ComponentPath "mixed/RiscOS/Sources/Programmer/SMP"
#define Module_FullVersion "0.03"
#define Module_HelpVersion "0.03 (10 Sep 2017)"
#define Module_LibraryVersionInfo "0:3"
#define Module_FullVersion "0.04"
#define Module_HelpVersion "0.04 (16 Feb 2018)"
#define Module_LibraryVersionInfo "0:4"
......@@ -128,7 +128,7 @@ bool irq_claim(irqdespatch_t *despatch, int irq, uint32_t r12, irq_handler handl
irqhead_t *head = &despatch->nodes[irq];
spinrw_write_lock(&head->lock);
*node = head->node;
head->node = (irqnode_t) { .link.flags = ((uint32_t) node) + (shared >> 31), .r12 = r12, .handler = handler };
head->node = (irqnode_t) { .link.flags = ((uint32_t) node) + (shared ? 0 : LINK_UNSHARED), .r12 = r12, .handler = handler };
spinrw_write_unlock(&head->lock);
return true;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment