瀏覽代碼

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 年之前
父節點
當前提交
30f07a9dc1
共有 1 個文件被更改,包括 1 次插入1 次删除
  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",