Commit-ID: da343fc776e0bcb238b65d9d24610819b95d0ef4 Gitweb: http://git.kernel.org/tip/da343fc776e0bcb238b65d9d24610819b95d0ef4 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> AuthorDate: Fri, 18 Apr 2014 14:19:47 +0200 Committer: Jason Cooper <jason@xxxxxxxxxxxxxx> CommitDate: Sun, 20 Apr 2014 19:14:26 +0000 irqchip: armada-370-xp: fix invalid cast of signed value into unsigned variable The armada_370_xp_alloc_msi() function returns a signed int, which is negative on error. However, we store the return value into an irq_hw_number_t, which is unsigned. Therefore, we actually never test if armada_370_xp_alloc_msi() returns an error or not, which may lead us to use hwirq numbers of as 0xffffffe4 (when armada_370_xp_alloc_msi() returns -ENOSPC). This commit fixes that by storing the return value of armada_370_xp_alloc_msi() in a signed variable. Fixes: 31f614edb726fcc4d5aa0f2895fbdec9b04a3ca4 ('irqchip: armada-370-xp: implement MSI support') Cc: <stable@xxxxxxxxxxxxxxx> # v3.13+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1397823593-1932-2-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Tested-by: Neil Greatorex <neil@xxxxxxxxxxxxxxx> Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> --- drivers/irqchip/irq-armada-370-xp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c index 41be897..3c8d89b 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -132,8 +132,7 @@ static int armada_370_xp_setup_msi_irq(struct msi_chip *chip, struct msi_desc *desc) { struct msi_msg msg; - irq_hw_number_t hwirq; - int virq; + int virq, hwirq; hwirq = armada_370_xp_alloc_msi(); if (hwirq < 0) -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |