Package: broadcom-sta-dkms
Version: 6.30.223.271-19
Followup-For: Bug #1012826
X-Debbugs-Cc: manel@mbp13.xarxa

Dear Maintainer,

*** Reporter, please consider answering these questions, where
appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

Patch solve issue:


-------


diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
--- a/src/shared/linux_osl.c    2022-05-24 20:51:15.662604980 +0000
+++ b/src/shared/linux_osl.c    2022-05-24 21:13:38.264472425 +0000
@@ -599,6 +599,8 @@
        va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO);
        if (va)
                *pap = (ulong)__virt_to_phys(va);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+       va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev,
size,
(dma_addr_t*)pap, GFP_ATOMIC);
 #else
        va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
 #endif
@@ -612,6 +614,8 @@

 #ifdef __ARM_ARCH_7A__
        kfree(va);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+       dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size,
va,
(dma_addr_t)pa);
 #else
        pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
 #endif
@@ -623,7 +627,11 @@
        int dir;

        ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+       dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
+#else
        dir = (direction == DMA_TX)? PCI_DMA_TODEVICE:
PCI_DMA_FROMDEVICE;
+#endif

 #if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL)
        if (dmah != NULL) {
@@ -641,7 +649,11 @@
                                ASSERT(totsegs + nsegs <=
MAX_DMA_SEGS);
                                sg->page_link = 0;
                                sg_set_buf(sg, PKTDATA(osh, skb),
PKTLEN(osh,
skb));
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+                               dma_map_single(&((struct pci_dev
*)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
+#else
                                pci_map_single(osh->pdev, PKTDATA(osh,
skb),
PKTLEN(osh, skb), dir);
+#endif
                        }
                        totsegs += nsegs;
                        totlen += PKTLEN(osh, skb);
@@ -656,7 +668,11 @@
        }
 #endif

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+       return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va,
size,
dir));
+#else
        return (pci_map_single(osh->pdev, va, size, dir));
+#endif
 }

 void BCMFASTPATH
@@ -665,8 +681,13 @@
        int dir;

        ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
+       dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
+       dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev,
(uint32)pa, size,
dir);
+#else
        dir = (direction == DMA_TX)? PCI_DMA_TODEVICE:
PCI_DMA_FROMDEVICE;
        pci_unmap_single(osh->pdev, (uint32)pa, size, dir);
+#endif
 }

 #if defined(BCMDBG_ASSERT)



--------



-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.18.0-1-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN,
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8),
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages broadcom-sta-dkms depends on:
ii  dkms  3.0.3-2

Versions of packages broadcom-sta-dkms recommends:
ii  wireless-tools  30~pre9-13.1

broadcom-sta-dkms suggests no packages.

-- no debconf information

Reply via email to