On 09/10/2012 05:24 AM, Johannes Berg wrote:
On Sat, 2012-09-08 at 20:57 +0200, Johannes Berg wrote:
[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.
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html