From: Holger Schurig <hs4233@mail.mn-solutions.de>
To: linux-wireless@vger.kernel.org
Subject: WARNING: slow-path
Date: Mon, 12 Oct 2009 13:35:21 +0200 [thread overview]
Message-ID: <200910121335.21807.hs4233@mail.mn-solutions.de> (raw)
I'm getting a "slow-path" warning that I don't really comprehend:
[ 33.357576] libertas leave: lbs_cfg_scan_worker()
[ 33.368197] libertas enter: lbs_cfg_auth()
[ 33.368356] libertas leave: lbs_cfg_auth(), ret 0
[ 33.368554] libertas enter: lbs_cfg_ret_auth()
[ 33.368746] libertas leave: lbs_cfg_ret_auth()
Next comes the .assoc function. This isn't yet coded so I return -ENOTSUPP
[ 33.368832] libertas enter: lbs_cfg_assoc()
[ 33.368902] libertas leave: lbs_cfg_assoc(-ENOTSUPP)
... with makes mlme.c call my .deauth function:
[ 33.368970] libertas enter: lbs_cfg_deauth()
[ 33.369768] libertas enter: lbs_cfg_ret_deauth()
[ 33.369838] ------------[ cut here ]------------
[ 33.369923] WARNING: at net/wireless/mlme.c:135 __cfg80211_send_deauth+0x3f/0x1e1 [cfg80211]()
[ 33.370028] Hardware name: Amilo M1425
[ 33.370096] Modules linked in: libertas_cs libertas cfg80211 lib80211 psmouse uhci_hcd [last unloaded: cfg80211]
[ 33.370461] Pid: 1700, comm: lbs_main Not tainted 2.6.32-rc3-wl #21
[ 33.370532] Call Trace:
[ 33.370604] [<c012395a>] warn_slowpath_common+0x60/0x77
[ 33.370676] [<c012397e>] warn_slowpath_null+0xd/0x10
[ 33.370754] [<f91205c0>] __cfg80211_send_deauth+0x3f/0x1e1 [cfg80211]
[ 33.370834] [<f9120c85>] cfg80211_send_deauth+0x33/0x5a [cfg80211]
[ 33.370916] [<f93324cc>] lbs_cfg_ret_deauth+0x9d/0xe7 [libertas]
[ 33.370993] [<f933242f>] ? lbs_cfg_ret_deauth+0x0/0xe7 [libertas]
[ 33.371071] [<f93380bc>] lbs_process_command_response+0x538/0xa96 [libertas]
[ 33.371147] [<c0399f7a>] ? _spin_unlock_irq+0x22/0x3b
[ 33.371225] [<f933ca77>] lbs_thread+0x358/0x747 [libertas]
[ 33.371300] [<c011ebbc>] ? default_wake_function+0x0/0xd
[ 33.371377] [<f933c71f>] ? lbs_thread+0x0/0x747 [libertas]
[ 33.371450] [<c0133c9c>] kthread+0x61/0x69
[ 33.371520] [<c0133c3b>] ? kthread+0x0/0x69
[ 33.371591] [<c010334b>] kernel_thread_helper+0x7/0x10
[ 33.371661] ---[ end trace f5da223917368c61 ]---
[ 33.371756] libertas leave: lbs_cfg_ret_deauth()
Bellow is lbs_cfg_deauth. I know from friday's debugging, that
__lbs_cmd_async also does a preempt (CONFIG_PREEMPT). That
might have something do to with it.
static int lbs_cfg_deauth(struct wiphy *wiphy, struct net_device *dev,
struct cfg80211_deauth_request *req,
void *cookie)
{
struct lbs_private *priv = wiphy_priv(wiphy);
struct cmd_ds_802_11_deauthenticate cmd;
lbs_deb_enter(LBS_DEB_CFG80211);
memset(&cmd, 0, sizeof(cmd));
cmd.hdr.size = cpu_to_le16(sizeof(cmd));
memcpy(cmd.macaddr, &req->bss->bssid, ETH_ALEN);
cmd.reasoncode = cpu_to_le16(req->reason_code);
__lbs_cmd_async(priv, CMD_802_11_DEAUTHENTICATE,
&cmd.hdr, sizeof(cmd),
lbs_cfg_ret_deauth, (unsigned long) cookie);
return 0;
}
lbs_cfg_ret_deauth() get's called as soon as the
firmware sends me back some response.
static int lbs_cfg_ret_deauth(struct lbs_private *priv, unsigned long dummy,
struct cmd_header *resp)
{
struct cmd_ds_802_11_deauthenticate *deauth_resp = (void *)resp;
struct ieee80211_mgmt mgmt;
lbs_deb_enter(LBS_DEB_CFG80211);
/* Fake a management frame */
memset(&mgmt, 0, sizeof(mgmt));
memcpy(mgmt.bssid, deauth_resp->macaddr, ETH_ALEN);
memcpy(mgmt.sa, deauth_resp->macaddr, ETH_ALEN);
memcpy(mgmt.da, priv->current_addr, ETH_ALEN);
cfg80211_send_deauth(priv->dev, (u8 *)&mgmt, sizeof(mgmt),
(void *)dummy);
lbs_deb_leave(LBS_DEB_CFG80211);
return 0;
}
Any idea on how to fix that?
--
http://www.holgerschurig.de
next reply other threads:[~2009-10-12 11:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-12 11:35 Holger Schurig [this message]
2009-10-12 13:08 ` WARNING: slow-path David Woodhouse
2009-10-12 14:02 ` Holger Schurig
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=200910121335.21807.hs4233@mail.mn-solutions.de \
--to=hs4233@mail.mn-solutions.de \
--cc=linux-wireless@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox