From: Larry Finger <Larry.Finger@lwfinger.net>
To: Catalin Iacob <iacobcatalin@gmail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
linux-wireless@vger.kernel.org,
johannes Berg <johannes@sipsolutions.net>
Subject: Re: [PATCH] rtlwifi: Initialize rate_init member of struct rate_control_ops
Date: Mon, 11 Feb 2013 15:37:47 -0600 [thread overview]
Message-ID: <511964AB.6080701@lwfinger.net> (raw)
In-Reply-To: <1360617485-6194-1-git-send-email-iacobcatalin@gmail.com>
On 02/11/2013 03:18 PM, Catalin Iacob wrote:
> This partially reverts commit 44ba973699b831414c3f8eef68ee5a7fe1208a05.
>
> rate_control_rate_init assumes the rate_init member of
> struct rate_control_ops is not NULL therefore not initializing it leads to
> an oops as soon the driver succesfully associates to an AP.
>
> The removal of rate_update from 44ba973699b831414c3f8eef68ee5a7fe1208a05
> is ok because rate_update is checked for NULL before being
> called.
>
> Signed-off-by: Catalin Iacob <iacobcatalin@gmail.com>
> ---
> drivers/net/wireless/rtlwifi/rc.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/net/wireless/rtlwifi/rc.c b/drivers/net/wireless/rtlwifi/rc.c
> index 204f46c..6ad8bb7 100644
> --- a/drivers/net/wireless/rtlwifi/rc.c
> +++ b/drivers/net/wireless/rtlwifi/rc.c
> @@ -217,6 +217,12 @@ static void rtl_tx_status(void *ppriv,
> }
> }
>
> +static void rtl_rate_init(void *ppriv,
> + struct ieee80211_supported_band *sband,
> + struct ieee80211_sta *sta, void *priv_sta)
> +{
> +}
> +
> static void *rtl_rate_alloc(struct ieee80211_hw *hw,
> struct dentry *debugfsdir)
> {
> @@ -261,6 +267,7 @@ static struct rate_control_ops rtl_rate_ops = {
> .free = rtl_rate_free,
> .alloc_sta = rtl_rate_alloc_sta,
> .free_sta = rtl_rate_free_sta,
> + .rate_init = rtl_rate_init,
> .tx_status = rtl_tx_status,
> .get_rate = rtl_get_rate,
> };
Shouldn't rate_control_rate_init() in net/mac80211/rate.h be changed to protect
against the oops? I don't see any value in the client driver having to provide a
dummy routine. The rtlwifi family of drivers use their own rate-control
mechanism, and get no rate-control info from mac80211.
Larry
next prev parent reply other threads:[~2013-02-11 21:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-11 21:18 [PATCH] rtlwifi: Initialize rate_init member of struct rate_control_ops Catalin Iacob
2013-02-11 21:22 ` Johannes Berg
2013-02-11 21:37 ` Larry Finger [this message]
2013-02-11 21:42 ` Johannes Berg
2013-02-11 21:48 ` Larry Finger
2013-02-11 21:58 ` Larry Finger
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=511964AB.6080701@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=iacobcatalin@gmail.com \
--cc=johannes@sipsolutions.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.