summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2015-06-15 20:05:49 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-22 21:15:49 -0700
commitcabea695875e3a07313c205a9753c7416126dfa2 (patch)
tree67b8e1e70bb322a2353ea6e27b7edec75582ebf3
parent52721d9d3334c1cb1f76219a161084094ec634dc (diff)
downloadop-kernel-dev-cabea695875e3a07313c205a9753c7416126dfa2.zip
op-kernel-dev-cabea695875e3a07313c205a9753c7416126dfa2.tar.gz
parport: fix error handling
After registering the device if exclusive access fails for any reason then we need to unregister the device to remove all references. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/parport/share.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/parport/share.c b/drivers/parport/share.c
index 8067f54..d8079e37 100644
--- a/drivers/parport/share.c
+++ b/drivers/parport/share.c
@@ -907,7 +907,8 @@ parport_register_dev_model(struct parport *port, const char *name,
spin_unlock(&port->physport->pardevice_lock);
pr_debug("%s: cannot grant exclusive access for device %s\n",
port->name, name);
- goto err_put_dev;
+ device_unregister(&par_dev->dev);
+ goto err_put_port;
}
port->flags |= PARPORT_FLAG_EXCL;
}
OpenPOWER on IntegriCloud