iwlwifi for 7260 card: DMA memory allocation fails
Josef Söntgen
josef.soentgen at ...1...
Tue Dec 2 23:24:49 CET 2014
Hi Christian,
* Christian Menard <christian.menard at ...104...> [2014-12-02 21:07:48 +0300]:
> Thank you for the explanation. I traced down two such allocs and changed the
> flag accordingly. Now the log is error free (besides the "slab too
> large" messages mentioned before). However, as it appears the driver is not
> working. I get the message "iwl driver loaded" but then nothing happens
> anymore. I guess there should be more output for searching the network,
> establishing connection etc?
Well, it is somewhat unfortunate that even if the driver fails to load
properly there is still “iwl driver loaded” printed…
>
> I tried to track down the problem, but so far I only found that wpa_supplicant
> blocks on it's socket in netlink_init(). The _handle() function which would
> unblock wpa_supplicant is never called. Oddly, this part seems to work fine
> without my changes to the DMA memory allocations. Do you have any ideas what
> might be wrong?
My guess is that the wifi_drv_ep is currently blocked or rather there
is a deadlock somewhere involving the task scheduling. A signal is
send if the the socket_call interface is used and if the signal is not
handled by the entrypoint wpa_supplicant will hang indefinitely as
you have already observed.
It is probably worth a shot to look at the task scheduling by setting
DEBUG_SCHEDULE to 1 in lx.h. You can also edit Scheduler::schedule()
directly and add a print statement on line 175. Since the scheduling
of tasks is done periodicly you should see some output in a good case
scenario. If not, the wifi_drv_ep is not running properly which is
the case if some task blocks w/o invoking the scheduling of another
task.
It might work fine w/o your DMA changes because w/o them another code
path in the driver code is taken because the DMA operations failed
early.
Regards
Josef
More information about the users
mailing list