linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Steve deRosier <steve@cozybit.com>
Cc: <linux-wireless@vger.kernel.org>, <linville@tuxdriver.com>,
	<javier@cozybit.com>
Subject: Re: [PATCH 5/9] libertas_tf: Moved firmware loading to probe in order to fetch MAC address
Date: Thu, 09 Sep 2010 22:58:01 +0200	[thread overview]
Message-ID: <c9d7238e26d9e276d9c9ef9792f7c7f8@localhost> (raw)
In-Reply-To: <AANLkTi=r_RdEG-2=gzV7uFNJt1Nynp3qNC-38SQkzhO2@mail.gmail.com>


On Thu, 9 Sep 2010 12:13:52 -0700, Steve deRosier <steve@cozybit.com>
wrote:
> Before doing any of this stuff (back in patch 1), my driver goes
> through and loads the firmware using the request_firmware() calls
> anyway.

Right.

> In other words, I haven't changed that part.  Is the problem
> specifically with my "get the MAC from the hardware before setting up
> mac80211" change, or with waiting on firmware loading?

Well, so previously mac80211 had some support for *not* knowing
the MAC address before setting up all of the mac80211 stuff, but
that broke and I'd like to remove it as well because it advertises
wrong things to userspace. So you need to know the MAC address
before registering with mac80211.

Now, on libertas_tf (correct me if I'm wrong), the firmware has to
be loaded to read the MAC address. So you need to load the firmware
in probe or so, like you do now. Then, however, building it into
the kernel may fail to load the firmware.

> For fun, I just tried compiling the driver into the kernel.  Mixed
> results: with two cards on the system, the first card found failed on
> the call to request_firmware() with a -ENOENT, while the second card
> came up just fine.  When done as modules, both work fine.  So there's
> clearly something to what you're saying. Is it that the filesystem is
> not up and available yet when we try to load the firmware for the
> first card?

Yeah, userspace needs to be up and running to load firmware.

> From looking through the drivers, iwl and ar9170_usb are the only ones
> to use the request_firmware_nowait().  I don't know if those are the
> only mac80211 cards with firmware or not everyone's following the
> model.

Well, not everyone's following the model _yet_ (look at mwl8k for
example), but nobody but libertas_tf needs firmware loaded to know
the MAC address. So they don't have the MAC address issue there.

> Do you have specific pointers of which code I should look at as a
> model, or a better way to solve the problem?

You should probably look at ar9170 or iwlwifi.

> In the short term, can we limit libertas_tf to build as module only
> via Kconfig, and I can add the request_firmware_nowait() as a new
> feature later with a new patch? 

Certainly. I just wanted to point it out. This wasn't meant as
a comment that should stop merging of these patches.

> Looking at the examples, it looks
> like the changes for this would be fairly involved and I would prefer
> to break such a change out separately. 

Yeah, I tried to do it in libertas_tf at some point last year and
failed miserably :-)

> I'd like to get
> libertas_tf_sdio accepted as a base so I can then do smaller change
> sets going forward. Is that a reasonable plan or just plain silly?

Makes sense to me.

johannes


  reply	other threads:[~2010-09-09 20:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08 23:25 [PATCH 0/9] libertas_tf: Add libertas_tf_sdio to libertas_tf Steve deRosier
2010-09-08 23:25 ` [PATCH 1/9] libertas_tf: Add a sdio driver " Steve deRosier
2010-09-08 23:25 ` [PATCH 2/9] libertas_tf: deb_defs.h: Fix include guard Steve deRosier
2010-09-08 23:25 ` [PATCH 3/9] libertas_tf: Added fullmac mode support so firmware supports libertas driver Steve deRosier
2010-09-08 23:25 ` [PATCH 4/9] libertas_tf: Add firmware reset to sdio driver and attempt firmware reload Steve deRosier
2010-09-09  1:44   ` Julian Calaby
2010-09-09  5:49     ` Steve deRosier
2010-09-08 23:25 ` [PATCH 5/9] libertas_tf: Moved firmware loading to probe in order to fetch MAC address Steve deRosier
2010-09-09  2:06   ` Julian Calaby
2010-09-09  5:49     ` Steve deRosier
2010-09-09  6:41       ` Julian Calaby
2010-09-09 16:38   ` Johannes Berg
2010-09-09 19:13     ` Steve deRosier
2010-09-09 20:58       ` Johannes Berg [this message]
2010-09-10  3:34         ` Steve deRosier
2010-09-10 16:12           ` Johannes Berg
2010-09-28 15:24           ` John W. Linville
2010-09-28 15:36             ` John W. Linville
2010-09-28 16:24             ` Steve deRosier
2010-09-08 23:25 ` [PATCH 6/9] libertas_tf: Fix to enable interrupts even when firmware has already started Steve deRosier
2010-09-09  2:07   ` Julian Calaby
2010-09-08 23:25 ` [PATCH 7/9] libertas_tf: Add tx feedback to libertas_tf_sdio Steve deRosier
2010-09-09  2:16   ` Julian Calaby
2010-09-09  5:49     ` Steve deRosier
2010-09-09  6:43       ` Julian Calaby
2010-09-08 23:25 ` [PATCH 8/9] libertas_tf: updated with beacon code Steve deRosier
2010-09-09  2:21   ` Julian Calaby
2010-09-09  5:53     ` Steve deRosier
2010-09-09  6:46       ` Julian Calaby
2010-09-08 23:25 ` [PATCH 9/9] libertas_tf: Allow tx up to full chip buffers Steve deRosier

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=c9d7238e26d9e276d9c9ef9792f7c7f8@localhost \
    --to=johannes@sipsolutions.net \
    --cc=javier@cozybit.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=steve@cozybit.com \
    /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).