[Prism54-devel] [Bug 26] New: failure to allocate DMA memory on "modprobe"

bugzilla-daemon@mcgrof.com bugzilla-daemon@mcgrof.com
Wed, 28 Jan 2004 22:17:25 +0000 (UTC)


http://prism54.org/cgi-bin/bugzilla/show_bug.cgi?id=26

           Summary: failure to allocate DMA memory on "modprobe"
           Product: prim54
           Version: 1.0.2.2
          Platform: all
        OS/Version: Linux 2.4
            Status: RESOLVED
          Severity: normal
          Priority: P1
         Component: Device Driver
        AssignedTo: prism54-devel@prism54.org
        ReportedBy: fists@gmx.de


Vanilla Kernel 2.4.23
SuSE 8.2

modprobe prism54 cause the following error:

/lib/modules/2.4.23-v3/kernel/drivers/net/wireless/prism54/prism54.o: init_modul
e: No such device
Hint: insmod errors can be caused by incorrect module parameters, including inva
lid IO or IRQ parameters.
      You may find more information in syslog or the output from dmesg
/lib/modules/2.4.23-v3/kernel/drivers/net/wireless/prism54/prism54.o: insmod /li
b/modules/2.4.23-v3/kernel/drivers/net/wireless/prism54/prism54.o failed
/lib/modules/2.4.23-v3/kernel/drivers/net/wireless/prism54/prism54.o: insmod pri
sm54 failed



In /var/log/messsages the following outputs is printed:

 Loaded prism54 driver, version 1.0.2.2
Dec 16 17:17:25 linux kernel: PCI: Enabling device 00:0f.0 (0014 -> 0016)
Dec 16 17:17:25 linux kernel: __alloc_pages: 6-order allocation failed 
(gfp=0x20/0)
Dec 16 17:17:25 linux kernel: prism54: could not allocate DMA memory, aborting!
<3>prism54: could not configure network device

Greets

Maruu (fists@gmx.de)

------- Additional Comments From mcgrof@ruslug.rutgers.edu  2003-12-17 22:23 -------
If you see those messages its because the driver was not able to allocate DMA 
memory. I'm told motherboards > 486 should support DMA so perhaps:

1. your motherboard older
2. your motherboard is having problems
3. you didn't enable DMA in the kernel (default is it is on)

Can you report back with more information? Do you have other PCI DMA devices?

------- Additional Comments From fists@gmx.de  2003-12-18 08:16 -------
Hy!

Where can I activate the DMA support in the Kernel?
My configs are:

# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_OFFBOARD=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_IDEDMA_ONLYDISK=y
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_BLK_DEV_ADMA100 is not set
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_IDEDMA_AUTO=y

Is that OK?? 
I´ve got a P166Mhz PC, maybe it´s the board.
How can I tasted it??

Greets

Hannes Bischof

------- Additional Comments From fists@gmx.de  2003-12-19 06:20 -------
Oh I forgot, I´ve got two network cards in my computer.
Nothing else.
Here is the output from lspci:

00:00.0 Host bridge: Intel Corp. 430TX - 82439TX MTXC (rev 01)
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 01)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:08.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB 
[Mach64 GTB] (rev 9a)
00:0d.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
00:0e.0 Ethernet controller: National Semiconductor Corporation DP83815 
(MacPhyter) Ethernet Controller
00:0f.0 Network controller: Harris Semiconductor: Unknown device 3890 (rev 01)

Need help, do you know the fault???

Greets

Maruu

------- Additional Comments From Jens.Maurer@gmx.net  2004-01-08 22:11 -------
The error is produced because pci_alloc_consistent() failed.
We try to allocate 256 KB of PCI DMA-able memory with this call.
If either not enough memory or not enough continguous memory is available,
the kernel memory allocator will fail.

That said, I think we should reduce the requirements on contiguous kernel
memory allocations, for example by separating the power save frame buffer
from the mgmt frame area.

In order to help the situation, please attach /proc/meminfo and
(if you have SysRq active) what Alt-SysRq-M (memory statistics)
tells.  It is likely that you won't have 256KB or more memory blocks
available.

Did you try to use the card just after rebooting the computer?
You may also try to free pages by reading large amounts of data from the hard
drive, e.g. "dd if=/dev/hda1 of=/dev/null bs=1025k" (stop with Ctrl-C after 20
secs) then try again to insert the card.


------- Additional Comments From Jens.Maurer@gmx.net  2004-01-28 22:17 -------
I've just checked in a rework of the mgmt frame low-level.  This should ease the
burden on the DMA memory allocation quite a bit, and should indeed fix the issue
for you.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.