Re: b44 ifconfig fails with ENOMEM

From: Pekka Pietikainen
Date: Wed Dec 29 2004 - 09:04:40 EST


On Wed, Dec 29, 2004 at 02:44:20PM +0100, Mateusz Berezecki wrote:
> >unloading and reloading the module didn't help, only a reboot fixed it
> >(after ~36hours uptime)
> >
> >
> same problem here. i left my laptop on for a longer time and ifconfig
> failed too
> kernel backtrace same as above. kernel looked like it didn't swap out
> some memory.
> lots of swap free no phys mem free. i dont know if this helps.
> reloading the module didn't help too.
> if you want more info please let me know
Hiya... Known feature :-( See
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118165 for details.

"See last paragraph of comment #66. The problem is that the driver
needs about 750k of memory that has to be located under 1GB physically
to not trigger the hardware bug that causes crashes and other fun. The
driver tries to allocate that kind of memory
(pci_set_consistent_dma_mask(pdev, 0x3fffffff) ). There should be
plenty, right?

Unfortunately the way it's implemented right now in the generic x86
pci code is that if you ask for some memory with a dma mask of < 4GB,
it falls back to giving you memory from the first 16MB. Now that's a
pretty limited resource :-(. There seems to be 3 drivers that need
similar workarounds (wanxl, aacraid and b44)"

Quickest "fix" is to use a B44_DMA_MASK of 0xffffffff . Which is the
pre-2.6.9 behaviour and is fine if you have <= 1GB of memory or use the
standard 1:3 kernel:user split.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/