All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.