Re: [PATCH 2.4] Re: ide-dma bug (cache flushing)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf, could you please apply the patch below.
Please also apply it to include/asm-mips64/pci.h (the 64-bit version).

/Carsten



Brian Murphy wrote:

> It seems like this problem is (yet again) caused by lack of cache flushing.
> The attached patch adds a  dma_cache_wback_inv to pci_map_sg in pci.h
> to the if fork in which sg->address is not set.
>
> This fixes my problem.
>
> Can someone with commit access please apply this patch?
>
> /Brian
>
>   ------------------------------------------------------------------------
> Index: include/asm-mips/pci.h
> ===================================================================
> RCS file: /cvs/linux-mips/include/asm-mips/pci.h,v
> retrieving revision 1.1.1.2
> diff -u -r1.1.1.2 pci.h
> --- include/asm-mips/pci.h      19 Aug 2002 18:00:29 -0000      1.1.1.2
> +++ include/asm-mips/pci.h      12 Sep 2002 20:06:31 -0000
> @@ -200,9 +200,13 @@
>                         dma_cache_wback_inv((unsigned long)sg->address,
>                                             sg->length);
>                         sg->dma_address = bus_to_baddr(hwdev, __pa(sg->address));
> -               } else
> +               } else {
>                         sg->dma_address = page_to_bus(sg->page) +
>                                           sg->offset;
> +                       dma_cache_wback_inv(
> +                               (unsigned long)(page_address(sg->page)+
> +                                               sg->offset), sg->length);
> +               }
>         }
>
>         return nents;

--
_    _ ____  ___   Carsten Langgaard   Mailto:carstenl@mips.com
|\  /|||___)(___   MIPS Denmark        Direct: +45 4486 5527
| \/ |||    ____)  Lautrupvang 4B      Switch: +45 4486 5555
  TECHNOLOGIES     2750 Ballerup       Fax...: +45 4486 5556
                   Denmark             http://www.mips.com





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux