On Tue, Dec 12, 2017 at 11:00:25AM +0100, Cornelia Huck wrote: > On Mon, 11 Dec 2017 23:55:16 +0800 > weiping zhang <zhangweiping@xxxxxxxxxxxxxxx> wrote: > > > don't free vp_dev until vp_dev->vdev.dev.release be called. > > Maybe add the same description as in your virtio_mmio patch so that it > is clear why the kfree() is not ok? OK, I'll add it at V2. > > > > Signed-off-by: weiping zhang <zhangweiping@xxxxxxxxxxxxxxx> > > --- > > drivers/virtio/virtio_pci_common.c | 17 +++++++++-------- > > 1 file changed, 9 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c > > index 1c4797e..91d20f7 100644 > > --- a/drivers/virtio/virtio_pci_common.c > > +++ b/drivers/virtio/virtio_pci_common.c > > @@ -551,16 +551,17 @@ static int virtio_pci_probe(struct pci_dev *pci_dev, > > pci_set_master(pci_dev); > > > > rc = register_virtio_device(&vp_dev->vdev); > > - if (rc) > > - goto err_register; > > + if (rc) { > > + if (vp_dev->ioaddr) > > + virtio_pci_legacy_remove(vp_dev); > > + else > > + virtio_pci_modern_remove(vp_dev); > > + pci_disable_device(pci_dev); > > + put_device(&vp_dev->vdev.dev); > > + } > > > > - return 0; > > + return rc; > > > > -err_register: > > - if (vp_dev->ioaddr) > > - virtio_pci_legacy_remove(vp_dev); > > - else > > - virtio_pci_modern_remove(vp_dev); > > err_probe: > > pci_disable_device(pci_dev); > > err_enable_device: > > Otherwise, looks good. > > Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> Thanks a ton _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization