| 123456789101112131415161718192021222324252627282930 |
- --- a/drivers/net/wireless/virtual/mac80211_hwsim.c
- +++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
- @@ -6672,6 +6672,7 @@ static void hwsim_virtio_rx_done(struct
-
- static int init_vqs(struct virtio_device *vdev)
- {
- +#if LINUX_VERSION_IS_GEQ(6,11,0)
- struct virtqueue_info vqs_info[HWSIM_NUM_VQS] = {
- [HWSIM_VQ_TX] = { "tx", hwsim_virtio_tx_done },
- [HWSIM_VQ_RX] = { "rx", hwsim_virtio_rx_done },
- @@ -6679,6 +6680,19 @@ static int init_vqs(struct virtio_device
-
- return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
- hwsim_vqs, vqs_info, NULL);
- +#else /* Using the old ABI, copied from kernel 6.6 */
- + vq_callback_t *callbacks[HWSIM_NUM_VQS] = {
- + [HWSIM_VQ_TX] = hwsim_virtio_tx_done,
- + [HWSIM_VQ_RX] = hwsim_virtio_rx_done,
- + };
- + const char *names[HWSIM_NUM_VQS] = {
- + [HWSIM_VQ_TX] = "tx",
- + [HWSIM_VQ_RX] = "rx",
- + };
- +
- + return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
- + hwsim_vqs, callbacks, names, NULL);
- +#endif
- }
-
- static int fill_vq(struct virtqueue *vq)
|