bitmap_find_free_region(), called by mpic_msi_alloc_hwirqs() may return
signed, but hwirq is unsigned.  A failed allocation remains unnoticed.
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
        unsigned int virq;
        struct msi_desc *entry;
        struct msi_msg msg;
+       int ret;
 
        pr_debug("pasemi_msi_setup_msi_irqs, pdev %p nvec %d type %d\n",
                 pdev, nvec, type);
                 * few MSIs for someone, but restrictions will apply to how the
                 * sources can be changed independently.
                 */
-               hwirq = mpic_msi_alloc_hwirqs(msi_mpic, ALLOC_CHUNK);
-               if (hwirq < 0) {
+               ret = mpic_msi_alloc_hwirqs(msi_mpic, ALLOC_CHUNK);
+               hwirq = ret;
+               if (ret < 0) {
                        pr_debug("pasemi_msi: failed allocating hwirq\n");
                        return hwirq;
                }