All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT] mach-s3c64xx:Fix error handling for certain calls to s3c_gpio_cfgpin_range in the file dev-audio.c
@ 2015-09-17  3:00 ` Nicholas Krause
  0 siblings, 0 replies; 6+ messages in thread
From: Nicholas Krause @ 2015-09-17  3:00 UTC (permalink / raw)
  To: kgene; +Cc: k.kozlowski, linux-samsung-soc, linux, linux-kernel,
	linux-arm-kernel

This fixes error handling for calls to the function 
s3c_gpio_cfgpin_range in the file dev-audio.c that
assume calls to this particular function always run 
successfully to properly check now if these calls
fail by returning a error code and if so return it 
directly as otherwise we fail to signal that the
pins have failed to changed their configuration to 
future function users of the gpio configuration
of this device, therefore making them incorrectly 
access a misconfigured gpio subsystem on the board
using this gpio driver.

Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
 arch/arm/mach-s3c64xx/dev-audio.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index ff780a8..81fabdb 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -27,6 +27,7 @@
 static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 {
 	unsigned int base;
+	int ret;
 
 	switch (pdev->id) {
 	case 0:
@@ -47,9 +48,9 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3));
-
-	return 0;
+	ret = s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3));
+
+	return ret;
 }
 
 static struct resource s3c64xx_iis0_resource[] = {
@@ -122,6 +123,7 @@ EXPORT_SYMBOL(s3c64xx_device_iisv4);
 static int s3c64xx_pcm_cfg_gpio(struct platform_device *pdev)
 {
 	unsigned int base;
+	int ret;
 
 	switch (pdev->id) {
 	case 0:
@@ -136,8 +138,8 @@ static int s3c64xx_pcm_cfg_gpio(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(2));
-	return 0;
+	ret = s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(2));
+	return ret;
 }
 
 static struct resource s3c64xx_pcm0_resource[] = {
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-09-17 10:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-17  3:00 [PATCH RFT] mach-s3c64xx:Fix error handling for certain calls to s3c_gpio_cfgpin_range in the file dev-audio.c Nicholas Krause
2015-09-17  3:00 ` Nicholas Krause
2015-09-17 10:23 ` Russell King - ARM Linux
2015-09-17 10:23   ` Russell King - ARM Linux
2015-09-17 10:52   ` nick
2015-09-17 10:52     ` nick

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.