projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'v4.4/topic/mm-kaslr-pax_usercopy' into linux-linaro-lsk-v4.4
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
pci
/
hotplug
/
rpadlpar_core.c
diff --git
a/drivers/pci/hotplug/rpadlpar_core.c
b/drivers/pci/hotplug/rpadlpar_core.c
index e12bafdc42e003e3d2c18eb187baf354e0945aa5..f2fcbe944d9409cef6e35575059e41437c12fd41 100644
(file)
--- a/
drivers/pci/hotplug/rpadlpar_core.c
+++ b/
drivers/pci/hotplug/rpadlpar_core.c
@@
-258,8
+258,13
@@
static int dlpar_add_phb(char *drc_name, struct device_node *dn)
static int dlpar_add_vio_slot(char *drc_name, struct device_node *dn)
{
static int dlpar_add_vio_slot(char *drc_name, struct device_node *dn)
{
- if (vio_find_node(dn))
+ struct vio_dev *vio_dev;
+
+ vio_dev = vio_find_node(dn);
+ if (vio_dev) {
+ put_device(&vio_dev->dev);
return -EINVAL;
return -EINVAL;
+ }
if (!vio_register_device_node(dn)) {
printk(KERN_ERR
if (!vio_register_device_node(dn)) {
printk(KERN_ERR
@@
-335,6
+340,9
@@
static int dlpar_remove_vio_slot(char *drc_name, struct device_node *dn)
return -EINVAL;
vio_unregister_device(vio_dev);
return -EINVAL;
vio_unregister_device(vio_dev);
+
+ put_device(&vio_dev->dev);
+
return 0;
}
return 0;
}