OSDN Git Service

mtd: fsl-quadspi: Fix the error paths
authorFabio Estevam <fabio.estevam@freescale.com>
Fri, 23 Jan 2015 00:43:05 +0000 (22:43 -0200)
committerBrian Norris <computersforpeace@gmail.com>
Fri, 6 Feb 2015 03:51:27 +0000 (19:51 -0800)
Jumping to 'map_failed' label is not correct at these points, as it misses to
disable the clocks that were previously enabled.

Jump to 'irq_failed' label instead that will correctly disable the clocks.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Han Xu <han.xu@freescale.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/spi-nor/fsl-quadspi.c

index a46bea3..a733bd2 100644 (file)
@@ -890,24 +890,24 @@ static int fsl_qspi_probe(struct platform_device *pdev)
 
                ret = of_modalias_node(np, modalias, sizeof(modalias));
                if (ret < 0)
-                       goto map_failed;
+                       goto irq_failed;
 
                ret = of_property_read_u32(np, "spi-max-frequency",
                                &q->clk_rate);
                if (ret < 0)
-                       goto map_failed;
+                       goto irq_failed;
 
                /* set the chip address for READID */
                fsl_qspi_set_base_addr(q, nor);
 
                ret = spi_nor_scan(nor, modalias, SPI_NOR_QUAD);
                if (ret)
-                       goto map_failed;
+                       goto irq_failed;
 
                ppdata.of_node = np;
                ret = mtd_device_parse_register(mtd, NULL, &ppdata, NULL, 0);
                if (ret)
-                       goto map_failed;
+                       goto irq_failed;
 
                /* Set the correct NOR size now. */
                if (q->nor_size == 0) {