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@vectorindia.org --- sound/drivers/mts64.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c index 2a008a9..fb6223e 100644 --- a/sound/drivers/mts64.c +++ b/sound/drivers/mts64.c @@ -874,32 +874,35 @@ static int snd_mts64_probe_port(struct parport *p) return res; }
-static void snd_mts64_attach(struct parport *p) +static int snd_mts64_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_mts64_detach(struct parport *p)