From: Albert Herranz <albert_herranz@yahoo.es>
To: Larry Finger <Larry.Finger@lwfinger.net>
Cc: bcm43xx-dev@lists.berlios.de, mb@bu3sch.de,
linux-wireless@vger.kernel.org
Subject: Re: [PATCH v2] b43: do not stack-allocate pio rx/tx header and tail buffers
Date: Wed, 07 Oct 2009 18:57:55 +0200 [thread overview]
Message-ID: <4ACCC893.1010402@yahoo.es> (raw)
In-Reply-To: <4ACCC516.7050002@lwfinger.net>
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@yahoo.es>
>> ---
>> 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
next prev parent reply other threads:[~2009-10-07 16:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-06 16:20 [PATCH] b43: do not stack-allocate pio rx/tx header buffers Albert Herranz
2009-10-06 20:52 ` Michael Buesch
2009-10-06 21:13 ` John W. Linville
2009-10-06 22:07 ` [PATCH v2] b43: do not stack-allocate pio rx/tx header and tail buffers Albert Herranz
2009-10-07 16:43 ` Larry Finger
2009-10-07 16:57 ` Albert Herranz [this message]
2009-10-07 18:01 ` Larry Finger
2009-10-09 17:46 ` b43: do not stack-allocate pio rx/tx header and tail buffers (was: pull request: wireless-2.6 2009-10-08) Albert Herranz
2009-10-09 18:05 ` Michael Buesch
2009-10-09 18:52 ` b43: do not stack-allocate pio rx/tx header and tail buffers Albert Herranz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ACCC893.1010402@yahoo.es \
--to=albert_herranz@yahoo.es \
--cc=Larry.Finger@lwfinger.net \
--cc=bcm43xx-dev@lists.berlios.de \
--cc=linux-wireless@vger.kernel.org \
--cc=mb@bu3sch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).