[linux-yocto] [PATCH 161/161] rapidio: axxia: fix array initialization
Cristian Bercaru
cristian.bercaru at windriver.com
Thu May 21 12:22:23 PDT 2015
This patch ensures that 'axxia_rio_ds_port_irq_init' initializes the
right input irq handlers: 'ib_dse_vsid_irq' instead of 'ob_dse_irq'.
Mis-initializing 'ob_dse_irq' also caused an "array index out of
bounds" exception. The size of 'ob_dse_irq' is 16
(RIO_MAX_NUM_OBDS_DSE), while the init index ranges from 0 to the size
of 'ib_dse_vsid_irq' i.e. 32 (RIO_MAX_NUM_IBDS_VSID_M).
gcc warns about the mis-initialization:
"drivers/rapidio/devices/lsi/axxia-rio-ds.c:1857:41: warning: iteration
16u invokes undefined behavior [-Waggressive-loop-optimizations]
ptr_ds_priv->ob_dse_irq[i].release_fn = release_ib_ds;"
Signed-off-by: Cristian Bercaru <cristian.bercaru at windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
---
drivers/rapidio/devices/lsi/axxia-rio-ds.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/rapidio/devices/lsi/axxia-rio-ds.c b/drivers/rapidio/devices/lsi/axxia-rio-ds.c
index 0e5be61..f569ee3 100755
--- a/drivers/rapidio/devices/lsi/axxia-rio-ds.c
+++ b/drivers/rapidio/devices/lsi/axxia-rio-ds.c
@@ -1854,7 +1854,7 @@ void axxia_rio_ds_port_irq_init(
ptr_ds_priv->ib_dse_vsid_irq[i].thrd_irq_fn =
ib_dse_vsid_m_irq_handler;
ptr_ds_priv->ib_dse_vsid_irq[i].data = NULL;
- ptr_ds_priv->ob_dse_irq[i].release_fn = release_ib_ds;
+ ptr_ds_priv->ib_dse_vsid_irq[i].release_fn = release_ib_ds;
}
}
--
1.7.9.5
More information about the linux-yocto
mailing list