Re: kernel 3.5.2/amd64: iwlwifi 0000:03:00.0: failed to allocate pci memory
From: Larry Finger <hidden>
Date: 2012-09-10 15:12:59
Also in:
linux-wireless
On 09/10/2012 05:24 AM, Johannes Berg wrote:
On Sat, 2012-09-08 at 20:57 +0200, Johannes Berg wrote:quoted
quoted
[856806.497959] [<ffffffff810cf54c>] warn_alloc_failed+0x117/0x12c [856806.497963] [<ffffffff810d23af>] __alloc_pages_nodemask+0x6e3/0x792 [856806.497969] [<ffffffff812b7f41>] ? pfn_to_dma_pte+0x116/0x15e [856806.497976] [<ffffffff810ff58b>] alloc_pages_current+0xcd/0xee [856806.497979] [<ffffffff810cecca>] __get_free_pages+0x9/0x45 [856806.497982] [<ffffffff812ba67d>] intel_alloc_coherent+0x84/0xe7 [856806.497986] [<ffffffff81085cf8>] ? arch_local_irq_save+0x15/0x1b [856806.497999] [<ffffffffa0b84afc>] iwl_ucode_callback+0xa49/0xc0d [iwlwifi]Yes, unfortunately we need a whole bunch of contiguous memory to load the firmware.quoted
Any ideas?Nothing we can do from the driver side, I'm afraid.Turns out I was wrong. Here's a patch you can test. Note that we still need a lot of DMA-coherent memory for other things, but at least for the firmware image we don't. http://p.sipsolutions.net/11ea33b376a5bac5.txt
That patch looks like a good way to solve the problem; however, some architectures need an explicit "#include <linux/vmalloc.h>" somewhere in the headers, even though x86 does not, and I did not see it in the patch. I didn't do a lot of checking, but grep did not find one in the existing code. Larry -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html