230-fix-init_vqs-build-error-on-kernel-6.6.patch 991 B

123456789101112131415161718192021222324252627282930
  1. --- a/drivers/net/wireless/virtual/mac80211_hwsim.c
  2. +++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
  3. @@ -6672,6 +6672,7 @@ static void hwsim_virtio_rx_done(struct
  4. static int init_vqs(struct virtio_device *vdev)
  5. {
  6. +#if LINUX_VERSION_IS_GEQ(6,11,0)
  7. struct virtqueue_info vqs_info[HWSIM_NUM_VQS] = {
  8. [HWSIM_VQ_TX] = { "tx", hwsim_virtio_tx_done },
  9. [HWSIM_VQ_RX] = { "rx", hwsim_virtio_rx_done },
  10. @@ -6679,6 +6680,19 @@ static int init_vqs(struct virtio_device
  11. return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
  12. hwsim_vqs, vqs_info, NULL);
  13. +#else /* Using the old ABI, copied from kernel 6.6 */
  14. + vq_callback_t *callbacks[HWSIM_NUM_VQS] = {
  15. + [HWSIM_VQ_TX] = hwsim_virtio_tx_done,
  16. + [HWSIM_VQ_RX] = hwsim_virtio_rx_done,
  17. + };
  18. + const char *names[HWSIM_NUM_VQS] = {
  19. + [HWSIM_VQ_TX] = "tx",
  20. + [HWSIM_VQ_RX] = "rx",
  21. + };
  22. +
  23. + return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
  24. + hwsim_vqs, callbacks, names, NULL);
  25. +#endif
  26. }
  27. static int fill_vq(struct virtqueue *vq)