Selaa lähdekoodia

qcacmn: Fix data type for ic_irqnum

ic_irqnum saves the irq number given by platform,
existing max irq which can be saved per ce is 255,
if platform return irq greater than 255, value is
misinterpreted with that saved in a byte, this will
eventually have problem when host driver suspends/stop,
during which freeing irq will fail.

But in scenarios such as IPI mechanisms such as whunt,
since free irq fails, it would still assume irq is enabled
and call registered handlers, which will lead to
null pointer access.

Inorder to fix this changed data type to uint16_t.

Change-Id: I0d92f965462a0a6416ee3dce880c4218e5ab09e8
CRs-Fixed: 2700577
Naga 5 vuotta sitten
vanhempi
sitoutus
30f07a9dc1
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      hif/src/snoc/if_ahb.c

+ 1 - 1
hif/src/snoc/if_ahb.c

@@ -44,7 +44,7 @@
 #define HIF_IC_CE0_IRQ_OFFSET 4
 #define HIF_IC_MAX_IRQ 52
 
-static uint8_t ic_irqnum[HIF_IC_MAX_IRQ];
+static uint16_t ic_irqnum[HIF_IC_MAX_IRQ];
 /* integrated chip irq names */
 const char *ic_irqname[HIF_IC_MAX_IRQ] = {
 "misc-pulse1",