@@ -688,8 +688,6 @@ static void hvcs_destruct_port(struct tty_port *p)
spin_unlock_irqrestore(&hvcsd->lock, flags);
spin_unlock(&hvcs_structs_lock);
- sysfs_remove_group(&vdev->dev.kobj, &hvcs_attr_group);
-
kfree(hvcsd);
}
@@ -814,6 +812,8 @@ static void hvcs_remove(struct vio_dev *dev)
*/
tty_port_put(&hvcsd->port);
+ sysfs_remove_group(&dev->dev.kobj, &hvcs_attr_group);
+
/*
* The hangup is a scheduled function which will auto chain call
* hvcs_hangup. The tty should always be valid at this time unless a
Cleanup the sysfs group earlier in remove. This eliminates errors coming from kernfs when attempting to remove a console device that is in use. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> --- drivers/tty/hvc/hvcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)