From: Michael Buesch <mb@bu3sch.de>
To: Larry Finger <larry.finger@lwfinger.net>
Cc: John Linville <linville@tuxdriver.com>,
Bcm43xx-dev@lists.berlios.de, linux-wireless@vger.kernel.org
Subject: Re: [PATCH] b43: Fix radio LED problem
Date: Fri, 7 Dec 2007 01:12:35 +0100 [thread overview]
Message-ID: <200712070112.35515.mb@bu3sch.de> (raw)
In-Reply-To: <47588E37.4080400@lwfinger.net>
On Friday 07 December 2007 01:05:11 Larry Finger wrote:
> Sorry it has taken so long to answer, but I am traveling.
>
> Michael Buesch wrote:
> > On Thursday 29 November 2007 00:48:40 Larry Finger wrote:
> >
> >> @@ -2802,6 +2800,13 @@ static int b43_op_config(struct ieee8021
> >> out_unlock_mutex:
> >> mutex_unlock(&wl->mutex);
> >>
> >> + /* if a LED is devoted to the radio and the switch is on, send
> >> + * KEY_WLAN press/release keystrokes */
> >> + if (!err && dev->radio_hw_enable && &dev->led_radio) {
> > ^^^^^^^^^^^^^^^
> > This condition is always true.
>
> It looks to me that the code uses the contents of the LED section of the SPROM to initialize
> dev->led_radio. Can we be certain that the initialization will always be done?
I think you didn't quite understand what I tried to say.
Let's give a more obvious example:
int a;
if (&a) {
/* This is always true, as (&a) can't be a NULL pointer. */
}
Your condition above can never be false. (in practice)
I guess you tried to check if a radio led exists.
I'd suggest you do
if (... && dev->led_radio.dev)
The code in led.c does also assume that the LED is used, if struct b43_led->dev was
assigned to something non-NULL. So I think that kind of check would be OK.
But it might need an additional comment if done here outside of the led.c context.
> >> + input_report_key(rfk->poll_dev->input, KEY_WLAN, 1);
> >> + input_report_key(rfk->poll_dev->input, KEY_WLAN, 0);
> >> + }
> >> +
> >
> > Anyway, sending a key event here seems pretty bogus. The comment
> > doesn't really say anything useful why this is needed.
>
> If a key event (down/up) is not sent, the LED remains off. This location may not be the best place,
> but it is needed someplace, otherwise the switch must be cycled off/on to get the LED on.
So I guess we should do this at initialization and not in the config callback.
--
Greetings Michael.
prev parent reply other threads:[~2007-12-07 0:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-28 23:48 [PATCH] b43: Fix radio LED problem Larry Finger
2007-11-29 18:58 ` Michael Buesch
2007-12-07 0:05 ` Larry Finger
2007-12-07 0:12 ` Michael Buesch [this message]
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=200712070112.35515.mb@bu3sch.de \
--to=mb@bu3sch.de \
--cc=Bcm43xx-dev@lists.berlios.de \
--cc=larry.finger@lwfinger.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.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 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.