mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	xen-netback: remove 'hotplug-status' once it has served its purpose
Removing the 'hotplug-status' node in netback_remove() is wrong; the script may not have completed. Only remove the node once the watch has fired and has been unregistered. Signed-off-by: Paul Durrant <pdurrant@amazon.com> Acked-by: Wei Liu <wei.liu@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									f55c3188df
								
							
						
					
					
						commit
						1f2565780e
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
					@ -648,6 +648,7 @@ static void hotplug_status_changed(struct xenbus_watch *watch,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* Not interested in this watch anymore. */
 | 
							/* Not interested in this watch anymore. */
 | 
				
			||||||
		unregister_hotplug_status_watch(be);
 | 
							unregister_hotplug_status_watch(be);
 | 
				
			||||||
 | 
							xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	kfree(str);
 | 
						kfree(str);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -959,7 +960,6 @@ static int netback_remove(struct xenbus_device *dev)
 | 
				
			||||||
	if (be->vif) {
 | 
						if (be->vif) {
 | 
				
			||||||
		kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
 | 
							kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
 | 
				
			||||||
		xen_unregister_watchers(be->vif);
 | 
							xen_unregister_watchers(be->vif);
 | 
				
			||||||
		xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
 | 
					 | 
				
			||||||
		xenvif_free(be->vif);
 | 
							xenvif_free(be->vif);
 | 
				
			||||||
		be->vif = NULL;
 | 
							be->vif = NULL;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue