linux-mips
[Top] [All Lists]

Re: MIPS and pci_alloc_consistent()?

To: Shuanglin Wang <swang@mmc.atmel.com>
Subject: Re: MIPS and pci_alloc_consistent()?
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Wed, 10 Oct 2001 13:38:32 +0200
Cc: linux-mips@oss.sgi.com
In-reply-to: <3BC36AE4.4D1EE63E@mmc.atmel.com>; from swang@mmc.atmel.com on Tue, Oct 09, 2001 at 04:23:49PM -0500
References: <3BC36AE4.4D1EE63E@mmc.atmel.com>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
On Tue, Oct 09, 2001 at 04:23:49PM -0500, Shuanglin Wang wrote:

> I tried to use the pci_alloc_consistent() to allocate one-page  DMA'able
> memory for my device driver.  But, when booting up the system, it was
> always  failed to execute the pci_alloc_consistent() by showing some
> memory errors.
>
> I traced the code to the function __alloc_page() in the file
> mm/page_alloc.c, and found the system called  "wakeup_kswapd()".  But at
> that time,  the kswapd process pointer is a NULL pointer and the
> wakeup-related codes don't check the pointer is NULL or not,  so the
> system was stopped because of dereferencing the null pointer.

This sounds like either memory corruption has overwritten the kernel pointer
or you're trying to use pci_alloc_consistent before the memory managment
is initialized.

> Anybody has some ideas about the problem?  Or are there other convenient
> methods to allocate DMA'able memory?

Anything else than the pci_alloc_* functions isn't portable.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>