irqchip: armada-370-xp: fix invalid cast of signed value into unsigned variable
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 18 Apr 2014 12:19:47 +0000 (14:19 +0200)
committerJason Cooper <jason@lakedaemon.net>
Sun, 20 Apr 2014 19:14:26 +0000 (19:14 +0000)
commitda343fc776e0bcb238b65d9d24610819b95d0ef4
tree19de124ba0396f270edd3b056b5f175e22699659
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5
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@vger.kernel.org> # v3.13+
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1397823593-1932-2-git-send-email-thomas.petazzoni@free-electrons.com
Tested-by: Neil Greatorex <neil@fatboyfat.co.uk>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-armada-370-xp.c