On Wed, Sep 03, 2014 at 06:45:56AM +0000, Gonglei (Arei) wrote:
[...]
> > > 4. When we hotplug the virtio-net-pci device, only pass virtio-net-pci's 
> > > pointer
> > to
> > > del_boot_device_path(). But virtio-net-pci != virtio-net-device, so I add 
> > > a
> > function
> > > named is_same_fw_dev_path() to handle this situation.
> > 
> > When hot-unplugging virtio-net-pci I'd expect we free both
> > virtio-net-pci and virtio-net-device (and therefore call
> > del_boot_device_path twice, once for each device).  Can you check that?
> > 
> Yes, I can. 
> 
> The del_boot_device_path() is called only once, just for virtio-net-pci.
> For its child, virtio-net-devcie's resource is cleaned by qbus->child 
> unrealizing 
> process, will not call device_finalize().

Then we need to fix this to make sure there's a corresponding
del_boot_device_path() call (with the same pointer) to every
add_boot_device_path() call, instead of adding a hack to
del_boot_device_path().

-- 
Eduardo

Reply via email to