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
|
@ -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,
|
static ssize_t send_control_msg(struct port *port, unsigned int event,
|
||||||
unsigned int value)
|
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 */
|
/* Callers must take the port->outvq_lock */
|
||||||
|
|
Loading…
Reference in New Issue