]> git.baikalelectronics.ru Git - kernel.git/commit
ipw2200: firmware DMA loading rework
authorZhu Yi <yi.zhu@intel.com>
Fri, 28 Aug 2009 03:42:31 +0000 (11:42 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Aug 2009 18:35:32 +0000 (14:35 -0400)
commitf906cf88011f0b59fffdbdb84234d62b767ad595
tree3bcb6b5ad97694042b39eb045cdaa9a57ad31b0a
parent572a49a1cbfe9f9d88967e306a28faaa5b48dc18
ipw2200: firmware DMA loading rework

Bartlomiej Zolnierkiewicz reported an atomic order-6 allocation failure
for ipw2200 firmware loading in kernel 2.6.30. High order allocation is
likely to fail and should always be avoided.

The patch fixes this problem by replacing the original order-6
pci_alloc_consistent() with an array of order-1 pages from a pci pool.
This utilized the ipw2200 DMA command blocks (up to 64 slots). The
maximum firmware size support remains the same (64*8K).

This patch fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14016

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ipw2x00/ipw2200.c