Re: [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB

Arnd Bergmann
2021-12-08T21:31:25Z

On Wed, Dec 8, 2021 at 8:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Fri, Dec 03, 2021 at 07:55:14PM +0100, Arnd Bergmann wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> >
> > When VIRTIO_PCI_LIB is not built-in but the alibaba driver is, the
> > kernel runs into a link error:
> >
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_features':
> > eni_vdpa.c:(.text+0x23f): undefined reference to `vp_legacy_set_features'
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_state':
> > eni_vdpa.c:(.text+0x2fe): undefined reference to `vp_legacy_get_queue_enable'
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_address':
> > eni_vdpa.c:(.text+0x376): undefined reference to `vp_legacy_set_queue_address'
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_ready':
> > eni_vdpa.c:(.text+0x3b4): undefined reference to `vp_legacy_set_queue_address'
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_free_irq':
> > eni_vdpa.c:(.text+0x460): undefined reference to `vp_legacy_queue_vector'
> > x86_64-linux-ld: eni_vdpa.c:(.text+0x4b7): undefined reference to `vp_legacy_config_vector'
> > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_reset':
> >
> > Selecting VIRTIO_PCI_LIB_LEGACY is not sufficient here since that is
> > only part of the VIRTIO_PCI_LIB support.
> >
> > Fixes: e85087beedca ("eni_vdpa: add vDPA driver for Alibaba ENI")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
>
> Confused. These are all part of
> drivers/virtio/virtio_pci_legacy_dev.c
>
> and
> obj-$(CONFIG_VIRTIO_PCI_LIB_LEGACY) += virtio_pci_legacy_dev.o
>
> what gives?

The patch was wrong, see

https://lore.kernel.org/lkml/20211206085034.2836099-1-arnd@kernel.org/

for the correct fix.

Arnd