On 2019-09-23 19:37, Kalle Valo wrote:
Wen Gong <wgong@xxxxxxxxxxxxxx> writes:
On 2019-09-21 19:38, Kalle Valo wrote:
What's wrong with ath10k_sdio_hif_diag_read()? AFAICS this whole
function duplicates just what it does.
ath10k_sdio_hif_diag_read's buffer size is limit,
and the dump memory/register's buffer size is larger than the diag
window's limit,
if use it directly will trigger crash like this for every time.
You shouldn't blindly add extra code to ath10k workaround issues. And
if
you really need to use a workaround, then it needs to properly
explained
in the commit and as well as commented in the code. But before that the
issue needs to be thoroughly investigated and understood where the
problem is coming from. Because it might be even completely unrelated
to
ath10k.
[ 149.947624] ath10k_sdio mmc1:0001:1: ath10k_sdio_hif_diag_read
buf_len :4
[ 149.954741] ath10k_sdio mmc1:0001:1: ath10k_sdio_hif_diag_read
buf_len :240
[ 151.005143] Unable to handle kernel paging request at virtual
[ 151.114537] Process swapper/0 (pid: 0, stack limit =
0x00000000e30dc665)
、
Did you investigate this? Is the buffer you reading to DMA accessible?
What about the alignment? Is there a certain length which is the limit
for crashes? And so on...
the limit is 4 byte.
for 5 bytes, it will crash.