summaryrefslogtreecommitdiff
path: root/net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch')
-rw-r--r--net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch b/net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch
new file mode 100644
index 000000000000..442fa1c3eadf
--- /dev/null
+++ b/net-misc/r8168/files/r8168-8.050.02-5.18-fix.patch
@@ -0,0 +1,51 @@
+Functions like 'pci_dma_sync_single_for_device', 'pci_set_dma_mask', and 'pci_set_consistent_dma_mask'
+no longer exist in 5.18.0.
+Fix similar to https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2238850.html
+
+--- a/src/r8168_n.c
++++ b/src/r8168_n.c
+@@ -3698,7 +3698,11 @@
+ txd->opts2 = 0;
+ while (1) {
+ memset(tmpAddr, pattern++, len - 14);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
+ pci_dma_sync_single_for_device(tp->pci_dev,
++#else
++ dma_sync_single_for_device(&tp->pci_dev->dev,
++#endif
+ le64_to_cpu(mapping),
+ len, DMA_TO_DEVICE);
+ txd->opts1 = cpu_to_le32(DescOwn | FirstFrag | LastFrag | len);
+@@ -3726,7 +3730,11 @@
+ if (rx_len == len) {
+ dma_sync_single_for_cpu(tp_to_dev(tp), le64_to_cpu(rxd->addr), tp->rx_buf_sz, DMA_FROM_DEVICE);
+ i = memcmp(skb->data, rx_skb->data, rx_len);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
+ pci_dma_sync_single_for_device(tp->pci_dev, le64_to_cpu(rxd->addr), tp->rx_buf_sz, DMA_FROM_DEVICE);
++#else
++ dma_sync_single_for_device(&tp->pci_dev->dev, le64_to_cpu(rxd->addr), tp->rx_buf_sz, DMA_FROM_DEVICE);
++#endif
+ if (i == 0) {
+ // dev_printk(KERN_INFO, tp_to_dev(tp), "loopback test finished\n",rx_len,len);
+ break;
+@@ -26408,11 +26416,20 @@
+
+ if ((sizeof(dma_addr_t) > 4) &&
+ use_dac &&
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
+ !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
+ !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
++#else
++ !dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) &&
++ !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
++#endif
+ dev->features |= NETIF_F_HIGHDMA;
+ } else {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
+ rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
++#else
++ rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
++#endif
+ if (rc < 0) {
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
+ if (netif_msg_probe(tp))