On Sun, Oct 11, 2020 at 02:37:33PM -0400, Willem de Bruijn wrote:
> Slightly off-topic, but I don't fully fathom what goes on with this
> pointer straight after the initial kmalloc.
> 
>         lp->td_ring = (struct dma_desc *)KSEG1ADDR(lp->td_ring);

KSEG1ADDR should rewrite the memory address into the uncached region
for memory mapped I/O. Not sure if this would case problems for kfree
since there is another kfree on the fail path:

probe_err_register:
        kfree(lp->td_ring);

-- 
Valentin

Reply via email to