From: Roland Stigge Date: Wed, 30 Jan 2013 17:05:08 +0000 (+0100) Subject: mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map() X-Git-Tag: next-20130218~55^2~12 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f64a9412749e76a2aedc7cceae013d5963e60fbd;p=karo-tx-linux.git mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map() When irq_of_parse_and_map() returns an error, it does as zero. But in mmc_spi_get_pdata(), the error return case is compared against NO_IRQ. This might work where NO_IRQ is zero (defaults to zero when undefined, as on MIPS) but not where NO_IRQ is different, e.g. on ARM where it's -1. This patch changes to comparison with 0 which is the error return value of irq_of_parse_and_map(). Tested on ARM that mmc_spi is working now. Signed-off-by: Roland Stigge Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c index 1534b582c419..d720b5e05b9c 100644 --- a/drivers/mmc/host/of_mmc_spi.c +++ b/drivers/mmc/host/of_mmc_spi.c @@ -146,7 +146,7 @@ struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi) oms->pdata.get_ro = of_mmc_spi_get_ro; oms->detect_irq = irq_of_parse_and_map(np, 0); - if (oms->detect_irq != NO_IRQ) { + if (oms->detect_irq != 0) { oms->pdata.init = of_mmc_spi_init; oms->pdata.exit = of_mmc_spi_exit; } else {