[PATCH 02/14] ALSA: portman2x4: return proper error values from attach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



now that we are monitoring the return value from attach, make the
required changes to return proper value from its attach function.

Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
---
 sound/drivers/portman2x4.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
index 464385a..866adbb 100644
--- a/sound/drivers/portman2x4.c
+++ b/sound/drivers/portman2x4.c
@@ -672,32 +672,37 @@ static int snd_portman_probe_port(struct parport *p)
 	return res ? -EIO : 0;
 }
 
-static void snd_portman_attach(struct parport *p)
+static int snd_portman_attach(struct parport *p)
 {
 	struct platform_device *device;
+	int ret;
 
 	device = platform_device_alloc(PLATFORM_DRIVER, device_count);
 	if (!device)
-		return;
+		return -ENOMEM;
 
 	/* Temporary assignment to forward the parport */
 	platform_set_drvdata(device, p);
 
-	if (platform_device_add(device) < 0) {
+	ret = platform_device_add(device);
+
+	if (ret < 0) {
 		platform_device_put(device);
-		return;
+		return ret;
 	}
 
 	/* Since we dont get the return value of probe
 	 * We need to check if device probing succeeded or not */
 	if (!platform_get_drvdata(device)) {
 		platform_device_unregister(device);
-		return;
+		return -ENODEV;
 	}
 
 	/* register device in global table */
 	platform_devices[device_count] = device;
 	device_count++;
+
+	return 0;
 }
 
 static void snd_portman_detach(struct parport *p)
-- 
1.8.1.2

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux