aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/main.c
diff options
context:
space:
mode:
authorSenthil Balasubramanian <senthilkumar@atheros.com>2009-03-06 00:54:08 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-03-16 18:09:30 -0400
commitf0e6ce13c17afd74a49e0ef043d72581562f73ae (patch)
tree51882c6e4718a898b7592d4cc7e4c13679ae2f3b /drivers/net/wireless/ath9k/main.c
parentec329acef99ded8dad59e1ef8a5a02b823083353 (diff)
ath9k: Get rid of unnecessary ATOMIC memory alloc during init time
We can sleep for memory during init time and so allocating rx buffers, descriptro buffers with GFP_KERNEL should help us to get rid of transient alloc fails. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath9k/main.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index bb30ccca1843..4bc43db9ab22 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1804,7 +1804,7 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
1804 1804
1805 /* allocate descriptors */ 1805 /* allocate descriptors */
1806 dd->dd_desc = dma_alloc_coherent(sc->dev, dd->dd_desc_len, 1806 dd->dd_desc = dma_alloc_coherent(sc->dev, dd->dd_desc_len,
1807 &dd->dd_desc_paddr, GFP_ATOMIC); 1807 &dd->dd_desc_paddr, GFP_KERNEL);
1808 if (dd->dd_desc == NULL) { 1808 if (dd->dd_desc == NULL) {
1809 error = -ENOMEM; 1809 error = -ENOMEM;
1810 goto fail; 1810 goto fail;
@@ -1816,12 +1816,11 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
1816 1816
1817 /* allocate buffers */ 1817 /* allocate buffers */
1818 bsize = sizeof(struct ath_buf) * nbuf; 1818 bsize = sizeof(struct ath_buf) * nbuf;
1819 bf = kmalloc(bsize, GFP_KERNEL); 1819 bf = kzalloc(bsize, GFP_KERNEL);
1820 if (bf == NULL) { 1820 if (bf == NULL) {
1821 error = -ENOMEM; 1821 error = -ENOMEM;
1822 goto fail2; 1822 goto fail2;
1823 } 1823 }
1824 memset(bf, 0, bsize);
1825 dd->dd_bufptr = bf; 1824 dd->dd_bufptr = bf;
1826 1825
1827 INIT_LIST_HEAD(head); 1826 INIT_LIST_HEAD(head);