From: Michael Buesch <mb@bu3sch.de>
To: Dan Williams <dcbw@redhat.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
linux-wireless@vger.kernel.org, stable@kernel.org,
ryan@bluewatersys.com,
Holger Schurig <hs4233@mail.mn-solutions.de>,
Cyril HAENEL <chaenel@free.fr>
Subject: Re: [PATCH] libertas: fix CF firmware loading for some cards
Date: Fri, 23 Jan 2009 18:01:19 +0100 [thread overview]
Message-ID: <200901231801.19570.mb@bu3sch.de> (raw)
In-Reply-To: <1232729733.2577.13.camel@localhost.localdomain>
On Friday 23 January 2009 17:55:33 Dan Williams wrote:
> if_cs_poll_while_fw_download() returned the number of iterations
> remaining on success, which in turn got returned as the value from
> if_cs_prog_real() and if_cs_prog_helper(). But since if_cs_probe()
> interprets non-zero return values from firmware load functions as an
> error, this sometimes caused spurious firmware load failures.
>
> Signed-off-by: Dan Williams <dcbw@redhat.com>
> ---
>
> diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
> index 842a08d..8f8934a 100644
> --- a/drivers/net/wireless/libertas/if_cs.c
> +++ b/drivers/net/wireless/libertas/if_cs.c
> @@ -151,7 +151,7 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
> for (i = 0; i < 100000; i++) {
> u8 val = if_cs_read8(card, addr);
> if (val == reg)
> - return i;
> + return 0;
> udelay(5);
> }
> return -ETIME;
This is an incredibly expensive loop, btw. Even for init it's really painful to
hog the CPU for more than half a second. Especially on UP.
Any chance for msleep()?
--
Greetings, Michael.
next prev parent reply other threads:[~2009-01-23 17:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-23 16:55 [PATCH] libertas: fix CF firmware loading for some cards Dan Williams
2009-01-23 17:01 ` Michael Buesch [this message]
2009-01-23 17:53 ` Dan Williams
2009-01-26 7:46 ` Holger Schurig
2009-01-24 8:37 ` Ryan Mallon
2009-01-23 19:54 ` Dan Williams
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=200901231801.19570.mb@bu3sch.de \
--to=mb@bu3sch.de \
--cc=chaenel@free.fr \
--cc=dcbw@redhat.com \
--cc=hs4233@mail.mn-solutions.de \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=ryan@bluewatersys.com \
--cc=stable@kernel.org \
/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.