wl1251: dynamically allocate memory used for DMA
authorH. Nikolaus Schaller <hns@goldelico.com>
Mon, 2 May 2022 12:38:32 +0000 (14:38 +0200)
committerKalle Valo <kvalo@kernel.org>
Fri, 6 May 2022 06:11:33 +0000 (09:11 +0300)
commit454744754cbf2c21b3fc7344e46e10bee2768094
treeeeddb084a9663ffbb76ee108d860ae836816e5b2
parent193eb523d27c4225aa6cf6fe7debac4d3eac942f
wl1251: dynamically allocate memory used for DMA

With introduction of vmap'ed stacks, stack parameters can no
longer be used for DMA and now leads to kernel panic.

It happens at several places for the wl1251 (e.g. when
accessed through SDIO) making it unuseable on e.g. the
OpenPandora.

We solve this by allocating temporary buffers or use wl1251_read32().

Tested on v5.18-rc5 with OpenPandora.

Fixes: a1c510d0adc6 ("ARM: implement support for vmap'ed stacks")
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/1676021ae8b6d7aada0b1806fed99b1b8359bdc4.1651495112.git.hns@goldelico.com
drivers/net/wireless/ti/wl1251/event.c
drivers/net/wireless/ti/wl1251/io.c
drivers/net/wireless/ti/wl1251/tx.c