• Sergei Shtylyov's avatar
    PCI: faraday: Fix of_irq_get() error check · b9f27afb
    Sergei Shtylyov authored
    of_irq_get() may return a negative error number as well as 0 on failure,
    while the driver only checks for 0, blithely continuing with the call to
    irq_set_chained_handler_and_data() -- that function expects *unsigned int*
    so should probably do nothing when a large IRQ number resulting from a
    conversion of a negative error number is passed to it. The driver then
    probes successfully while being only partly functional...
    
    Check for 'irq <= 0' instead and propagate the negative error number to the
    probe method --  that will allow the deferred probing as well.
    
    Fixes: d3c68e0a ("PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver")
    Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    b9f27afb
pci-ftpci100.c 16.3 KB