On Fri, Sep 09, 2016 at 06:16:27PM +0200, Maxime Coquelin wrote: > > > On 09/09/2016 05:39 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 09, 2016 at 04:14:59PM +0200, Maxime Coquelin wrote: > > > > Currently, devices are plugged before features are negotiated. > > > > If the backend doesn't support VIRTIO_F_VERSION_1, the transport > > > > need to rewind some settings. > > > > > > > > This is the case for both PCI and CCW. > > > > For CCW, a post_plugged callback had been introduced, where > > > > max_rev field is just updated if VIRTIO_F_VERSION_1 is not > > > > supported by the backend. > > > > For PCI, implementing the post_plugged would be much more > > > > complicated, so the current fix consists in checking whether > > > > the backend supports VIRTIO_F_VERSION_1 in the backend. > > > > > > > > This patch propose to replace existing solutions with a common > > > > approach by negociating features before ->device_plugged() is > > > > called. A pre_plugged callback is introduced so that the > > > > transports can set their supported features. > > > > > > > > Cc: Cornelia Huck <cornelia.h...@de.ibm.com> > > > > Cc: Marcel Apfelbaum <mar...@redhat.com> > > > > Cc: Michael S. Tsirkin <m...@redhat.com> > > > > Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> > > > > Acked-by: Michael S. Tsirkin <m...@redhat.com> > > > > Looks good - can you pls test and post a non-RFC? > > > > Do you mean having this also in stable, or keeping > it based on top of former pci-only patch? > > I already tested it for PCI, but cannot test it for CCW. > > Thanks, > Maxime
Once you repost, ask for help testing. -- MST