From: Johannes Berg <johannes@sipsolutions.net>
To: Michael Buesch <mb@bu3sch.de>
Cc: Michael Wu <flamingice@sourmilk.net>, linux-wireless@vger.kernel.org
Subject: Re: mac80211: crash while adding interface.
Date: Tue, 25 Sep 2007 22:36:56 +0200 [thread overview]
Message-ID: <1190752616.18521.322.camel@johannes.berg> (raw)
In-Reply-To: <200709252206.57855.mb@bu3sch.de>
On Tue, 2007-09-25 at 22:06 +0200, Michael Buesch wrote:
> The following happened when adding an interface through sysfs
> on b43, while another one was operating and transmitting data:
As discussed, this is because register_netdevice() didn't like the
device. Try this patch.
johannes
--- wireless-dev.orig/net/mac80211/ieee80211.c 2007-09-25 22:26:31.341579155 +0200
+++ wireless-dev/net/mac80211/ieee80211.c 2007-09-25 22:29:12.421568847 +0200
@@ -266,7 +266,6 @@ void ieee80211_if_mgmt_setup(struct net_
dev->stop = ieee80211_mgmt_stop;
dev->type = ARPHRD_IEEE80211_PRISM;
dev->hard_header_parse = header_parse_80211;
- dev->uninit = ieee80211_if_reinit;
dev->destructor = ieee80211_if_free;
}
@@ -543,7 +542,6 @@ void ieee80211_if_setup(struct net_devic
dev->change_mtu = ieee80211_change_mtu;
dev->open = ieee80211_open;
dev->stop = ieee80211_stop;
- dev->uninit = ieee80211_if_reinit;
dev->destructor = ieee80211_if_free;
}
@@ -1233,6 +1231,12 @@ int ieee80211_register_hw(struct ieee802
if (result < 0)
goto fail_dev;
+ /*
+ * Called even when register_netdevice fails, it would
+ * oops if assigned before initialising the rest.
+ */
+ local->mdev->uninit = ieee80211_if_reinit;
+
ieee80211_debugfs_add_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev));
result = ieee80211_init_rate_ctrl_alg(local, NULL);
--- wireless-dev.orig/net/mac80211/ieee80211_iface.c 2007-09-25 22:26:40.111572537 +0200
+++ wireless-dev/net/mac80211/ieee80211_iface.c 2007-09-25 22:32:27.631569281 +0200
@@ -76,6 +76,12 @@ int ieee80211_if_add(struct net_device *
if (ret)
goto fail;
+ /*
+ * Called even when register_netdevice fails, it would
+ * oops if assigned before initialising the rest.
+ */
+ ndev->uninit = ieee80211_if_reinit;
+
ieee80211_debugfs_add_netdev(sdata);
ieee80211_if_set_type(ndev, type);
@@ -127,6 +133,12 @@ int ieee80211_if_add_mgmt(struct ieee802
if (ret)
goto fail;
+ /*
+ * Called even when register_netdevice fails, it would
+ * oops if assigned before initialising the rest.
+ */
+ ndev->uninit = ieee80211_if_reinit;
+
ieee80211_debugfs_add_netdev(nsdata);
if (local->open_count > 0)
next prev parent reply other threads:[~2007-09-25 20:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-25 20:06 mac80211: crash while adding interface Michael Buesch
2007-09-25 20:36 ` Johannes Berg [this message]
2007-09-25 20:45 ` Johannes Berg
2007-09-25 21:31 ` [PATCH] mac80211: fix interface initialisation Johannes Berg
2007-09-25 21:32 ` Michael Buesch
2007-09-25 21:44 ` Johannes Berg
2007-09-26 0:02 ` Luis R. Rodriguez
2007-09-26 7:04 ` Johannes Berg
2007-09-26 12:27 ` [PATCH v2] mac80211: fix interface initialisation and deinitialisation Johannes Berg
2007-09-26 14:37 ` Michael Buesch
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=1190752616.18521.322.camel@johannes.berg \
--to=johannes@sipsolutions.net \
--cc=flamingice@sourmilk.net \
--cc=linux-wireless@vger.kernel.org \
--cc=mb@bu3sch.de \
/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).