Larry Finger wrote: > Albert Herranz wrote: >> The DMA-API debugging facility complains about b43 mapping memory from >> stack for SDIO-based cards. >> >> Indeed, b43 currently allocates the PIO RX/TX header and tail buffers >> from stack. The solution here is to use heap-allocated buffers instead. >> >> Signed-off-by: Albert Herranz <albert_herranz@xxxxxxxx> >> --- >> v2 >> - embed buffers into struct b43_wl, and make them depend on CONFIG_B43_PIO >> - take into account tail buffers for unaligned length transfers >> >> drivers/net/wireless/b43/b43.h | 168 +++++++++++++++++++++------------------ >> drivers/net/wireless/b43/pio.c | 78 +++++++++--------- >> drivers/net/wireless/b43/xmit.c | 2 +- >> 3 files changed, 132 insertions(+), 116 deletions(-) >> >> diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h >> index fa1549a..6607162 100644 >> --- a/drivers/net/wireless/b43/b43.h >> +++ b/drivers/net/wireless/b43/b43.h >> @@ -607,82 +607,7 @@ struct b43_qos_params { >> struct ieee80211_tx_queue_params p; >> }; >> >> -struct b43_wldev; >> - >> -/* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */ >> -struct b43_wl { >> - /* Pointer to the active wireless device on this chip */ >> - struct b43_wldev *current_dev; >> - /* Pointer to the ieee80211 hardware data structure */ >> - struct ieee80211_hw *hw; > > What is the reason for moving the definition of struct b43_wl? > > Larry > > b43_new_kidx_api() (defined in xmit.h) needs struct b43_wldev defined because it dereferences it. With this patch, struct b43_wl (defined in b43.h) needs struct b43_rxhdr_fw4 and struct b43_txhdr (defined in xmit.h). So we have b43_wldev -> b43_rxhdr_fw4, b43_txhdr -> b43_wl (at least). Moving the definition of struct b43_wl after the definition of struct b43_wldev and placing the inclusion of xmit.h between them gets rid of the generated dependencies. The patch hints too to other possible solution. >/* > * Include goes here to avoid a dependency problem. > * A better fix would be to integrate xmit.h into b43.h. > */ >#include "xmit.h" Do you have any other solutions in mind? Thanks, Albert -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html