]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/block/xen-blkback/xenbus.c
xen/blkback: Free resources if connect_ring failed.
[mirror_ubuntu-bionic-kernel.git] / drivers / block / xen-blkback / xenbus.c
index ca3a414de11c0ba1da89498235ce67cc0e41546e..c92b35882720437e17e74cdb4562eee59034c749 100644 (file)
@@ -749,8 +749,14 @@ static void frontend_changed(struct xenbus_device *dev,
                }
 
                err = connect_ring(be);
-               if (err)
+               if (err) {
+                       /*
+                        * Clean up so that memory resources can be used by
+                        * other devices. connect_ring reported already error.
+                        */
+                       xen_blkif_disconnect(be->blkif);
                        break;
+               }
                xen_update_blkif_status(be->blkif);
                break;