virtio: console: Check if portdev is valid in send_control_msg()
A portdev may have been hot-unplugged while a port was open()ed. Skip sending control messages when the portdev isn't valid. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
96eb872b2a
commit
84ec06c59a
1 changed files with 4 additions and 1 deletions
|
@ -410,7 +410,10 @@ static ssize_t __send_control_msg(struct ports_device *portdev, u32 port_id,
|
|||
static ssize_t send_control_msg(struct port *port, unsigned int event,
|
||||
unsigned int value)
|
||||
{
|
||||
return __send_control_msg(port->portdev, port->id, event, value);
|
||||
/* Did the port get unplugged before userspace closed it? */
|
||||
if (port->portdev)
|
||||
return __send_control_msg(port->portdev, port->id, event, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Callers must take the port->outvq_lock */
|
||||
|
|
Reference in a new issue