Message ID | 20230201195743.303163-6-brking@linux.vnet.ibm.com |
---|---|
State | Superseded |
Headers | show |
Series | hvcs: Various hvcs device hotplug fixes | expand |
diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c index b28ddfc46e42..24541fc53625 100644 --- a/drivers/tty/hvc/hvcs.c +++ b/drivers/tty/hvc/hvcs.c @@ -815,12 +815,11 @@ static void hvcs_remove(struct vio_dev *dev) 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 + * The tty should always be valid at this time unless a * simultaneous tty close already cleaned up the hvcs_struct. */ if (tty) { - tty_hangup(tty); + tty_vhangup(tty); tty_kref_put(tty); }
When hotplug removing an hvcs device, we need to ensure the hangup processing is done prior to exiting the remove function, so use tty_vhangup to do the hangup processing directly rather than using tty_hangup which simply schedules the hangup work for later execution. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> --- drivers/tty/hvc/hvcs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)