]> git.baikalelectronics.ru Git - kernel.git/commit
xen-netfront: Fix hang on device removal
authorJason Andryuk <jandryuk@gmail.com>
Wed, 28 Feb 2018 12:23:23 +0000 (07:23 -0500)
committerJuergen Gross <jgross@suse.com>
Wed, 28 Feb 2018 19:20:08 +0000 (20:20 +0100)
commit3da7c6634ec293ebc3a021f5d455a728c275ed97
treece54a6673f4658e1323614888b55596e4ec0459a
parentdb3b7298bae8a9d24abc340c588eba8f9dc20a46
xen-netfront: Fix hang on device removal

A toolstack may delete the vif frontend and backend xenstore entries
while xen-netfront is in the removal code path.  In that case, the
checks for xenbus_read_driver_state would return XenbusStateUnknown, and
xennet_remove would hang indefinitely.  This hang prevents system
shutdown.

xennet_remove must be able to handle XenbusStateUnknown, and
netback_changed must also wake up the wake_queue for that state as well.

Fixes: ca921dc3882f ("xen-netfront: remove warning when unloading module")
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Cc: Eduardo Otubo <otubo@redhat.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/net/xen-netfront.c