Commit 9a71ac7e authored by Alexey Kardashevskiy's avatar Alexey Kardashevskiy Committed by Alex Williamson

vfio-pci/nvlink2: Fix ancient gcc warnings

Using the {0} construct as a generic initializer is perfectly fine in C,
however due to a bug in old gcc there is a warning:

  + /kisskb/src/drivers/vfio/pci/vfio_pci_nvlink2.c: warning: (near
initialization for 'cap.header') [-Wmissing-braces]:  => 181:9

Since for whatever reason we still want to compile the modern kernel
with such an old gcc without warnings, this changes the capabilities
initialization.

The gcc bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119

Fixes: 7f928917 ("vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver")
Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 33e5ee78
...@@ -174,11 +174,11 @@ static int vfio_pci_nvgpu_add_capability(struct vfio_pci_device *vdev, ...@@ -174,11 +174,11 @@ static int vfio_pci_nvgpu_add_capability(struct vfio_pci_device *vdev,
struct vfio_pci_region *region, struct vfio_info_cap *caps) struct vfio_pci_region *region, struct vfio_info_cap *caps)
{ {
struct vfio_pci_nvgpu_data *data = region->data; struct vfio_pci_nvgpu_data *data = region->data;
struct vfio_region_info_cap_nvlink2_ssatgt cap = { 0 }; struct vfio_region_info_cap_nvlink2_ssatgt cap = {
.header.id = VFIO_REGION_INFO_CAP_NVLINK2_SSATGT,
cap.header.id = VFIO_REGION_INFO_CAP_NVLINK2_SSATGT; .header.version = 1,
cap.header.version = 1; .tgt = data->gpu_tgt
cap.tgt = data->gpu_tgt; };
return vfio_info_add_capability(caps, &cap.header, sizeof(cap)); return vfio_info_add_capability(caps, &cap.header, sizeof(cap));
} }
...@@ -361,18 +361,18 @@ static int vfio_pci_npu2_add_capability(struct vfio_pci_device *vdev, ...@@ -361,18 +361,18 @@ static int vfio_pci_npu2_add_capability(struct vfio_pci_device *vdev,
struct vfio_pci_region *region, struct vfio_info_cap *caps) struct vfio_pci_region *region, struct vfio_info_cap *caps)
{ {
struct vfio_pci_npu2_data *data = region->data; struct vfio_pci_npu2_data *data = region->data;
struct vfio_region_info_cap_nvlink2_ssatgt captgt = { 0 }; struct vfio_region_info_cap_nvlink2_ssatgt captgt = {
struct vfio_region_info_cap_nvlink2_lnkspd capspd = { 0 }; .header.id = VFIO_REGION_INFO_CAP_NVLINK2_SSATGT,
.header.version = 1,
.tgt = data->gpu_tgt
};
struct vfio_region_info_cap_nvlink2_lnkspd capspd = {
.header.id = VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD,
.header.version = 1,
.link_speed = data->link_speed
};
int ret; int ret;
captgt.header.id = VFIO_REGION_INFO_CAP_NVLINK2_SSATGT;
captgt.header.version = 1;
captgt.tgt = data->gpu_tgt;
capspd.header.id = VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD;
capspd.header.version = 1;
capspd.link_speed = data->link_speed;
ret = vfio_info_add_capability(caps, &captgt.header, sizeof(captgt)); ret = vfio_info_add_capability(caps, &captgt.header, sizeof(captgt));
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment