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@xxxxxxxxxxxxxxxxxx> --- drivers/tty/hvc/hvcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c index 9131dcb2e8d8..9c5887d0c882 100644 --- a/drivers/tty/hvc/hvcs.c +++ b/drivers/tty/hvc/hvcs.c @@ -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 -- 2.31.1