diff mbox

[v.1] spi : spi-fsl :- Error check if cpm_muram_alloc fails and return

Message ID 1470850492-6606-1-git-send-email-arvind.yadav.cs@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Arvind Yadav Aug. 10, 2016, 5:34 p.m. UTC
cpm_muram_alloc can fail so the returned value should be checked.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/spi/spi-fsl-cpm.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox

Patch

diff --git a/drivers/spi/spi-fsl-cpm.c b/drivers/spi/spi-fsl-cpm.c
index 8f7b26e..1362e2d 100644
--- a/drivers/spi/spi-fsl-cpm.c
+++ b/drivers/spi/spi-fsl-cpm.c
@@ -258,6 +258,9 @@  static unsigned long fsl_spi_cpm_get_pram(struct mpc8xxx_spi *mspi)
 	/* QE but with a dynamic pram location? */
 	if (mspi->flags & SPI_QE) {
 		pram_ofs = cpm_muram_alloc(SPI_PRAM_SIZE, 64);
+		if (IS_ERR_VALUE(pram_ofs))
+			return pram_ofs;
+
 		qe_issue_cmd(QE_ASSIGN_PAGE_TO_DEVICE, mspi->subblock,
 			     QE_CR_PROTOCOL_UNSPECIFIED, pram_ofs);
 		return pram_ofs;
@@ -269,9 +272,13 @@  static unsigned long fsl_spi_cpm_get_pram(struct mpc8xxx_spi *mspi)
 
 	if (mspi->flags & SPI_CPM2) {
 		pram_ofs = cpm_muram_alloc(SPI_PRAM_SIZE, 64);
+		if (IS_ERR_VALUE(pram_ofs))
+			goto error_pram;
+
 		out_be16(spi_base, pram_ofs);
 	}
 
+error_pram:
 	iounmap(spi_base);
 	return pram_ofs;
 }