* [PATCH] mac80211: fix suspend/resume races with unregister hw
@ 2011-08-12 12:00 Stanislaw Gruszka
2011-08-25 5:06 ` Johannes Berg
[not found] ` <d9f6472975e34cb294831e32c8ce2346-mfwitten@gmail.com>
0 siblings, 2 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2011-08-12 12:00 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, Stanislaw Gruszka, stable
Do not call ->suspend, ->resume methods after we unregister wiphy. Also
delete sta_clanup timer after we finish wiphy unregister to avoid this:
WARNING: at lib/debugobjects.c:262 debug_print_object+0x85/0xa0()
Hardware name: 6369CTO
ODEBUG: free active (active state 0) object type: timer_list hint: sta_info_cleanup+0x0/0x180 [mac80211]
Modules linked in: aes_i586 aes_generic fuse bridge stp llc autofs4 sunrpc cpufreq_ondemand acpi_cpufreq mperf ext2 dm_mod uinput thinkpad_acpi hwmon sg arc4 rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 cfg80211 i2c_i801 iTCO_wdt iTCO_vendor_support e1000e ext4 mbcache jbd2 sd_mod crc_t10dif sr_mod cdrom yenta_socket ahci libahci pata_acpi ata_generic ata_piix i915 drm_kms_helper drm i2c_algo_bit video [last unloaded: microcode]
Pid: 5663, comm: pm-hibernate Not tainted 3.1.0-rc1-wl+ #19
Call Trace:
[<c0454cfd>] warn_slowpath_common+0x6d/0xa0
[<c05e05e5>] ? debug_print_object+0x85/0xa0
[<c05e05e5>] ? debug_print_object+0x85/0xa0
[<c0454dae>] warn_slowpath_fmt+0x2e/0x30
[<c05e05e5>] debug_print_object+0x85/0xa0
[<f8a808e0>] ? sta_info_alloc+0x1a0/0x1a0 [mac80211]
[<c05e0bd2>] debug_check_no_obj_freed+0xe2/0x180
[<c051175b>] kfree+0x8b/0x150
[<f8a126ae>] cfg80211_dev_free+0x7e/0x90 [cfg80211]
[<f8a13afd>] wiphy_dev_release+0xd/0x10 [cfg80211]
[<c068d959>] device_release+0x19/0x80
[<c05d06ba>] kobject_release+0x7a/0x1c0
[<c07646a8>] ? rtnl_unlock+0x8/0x10
[<f8a13adb>] ? wiphy_resume+0x6b/0x80 [cfg80211]
[<c05d0640>] ? kobject_del+0x30/0x30
[<c05d1a6d>] kref_put+0x2d/0x60
[<c05d056d>] kobject_put+0x1d/0x50
[<c08015f4>] ? mutex_lock+0x14/0x40
[<c068d60f>] put_device+0xf/0x20
[<c069716a>] dpm_resume+0xca/0x160
[<c04912bd>] hibernation_snapshot+0xcd/0x260
[<c04903df>] ? freeze_processes+0x3f/0x90
[<c049151b>] hibernate+0xcb/0x1e0
[<c048fdc0>] ? pm_async_store+0x40/0x40
[<c048fe60>] state_store+0xa0/0xb0
[<c048fdc0>] ? pm_async_store+0x40/0x40
[<c05d0200>] kobj_attr_store+0x20/0x30
[<c0575ea4>] sysfs_write_file+0x94/0xf0
[<c051e26a>] vfs_write+0x9a/0x160
[<c0575e10>] ? sysfs_open_file+0x200/0x200
[<c051e3fd>] sys_write+0x3d/0x70
[<c080959f>] sysenter_do_call+0x12/0x28
Cc: stable@kernel.org
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
include/net/cfg80211.h | 3 +++
net/mac80211/main.c | 2 +-
net/wireless/core.c | 7 +++++++
net/wireless/sysfs.c | 6 ++++--
4 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index ab12440..97db267 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1875,6 +1875,9 @@ struct wiphy {
* you need use set_wiphy_dev() (see below) */
struct device dev;
+ /* protects ->resume, ->suspend sysfs callbacks against unregister hw */
+ bool registered;
+
/* dir in debugfs: ieee80211/<wiphyname> */
struct dentry *debugfsdir;
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 104fdd9..a5809a1 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -1013,7 +1013,6 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
cancel_work_sync(&local->reconfig_filter);
ieee80211_clear_tx_pending(local);
- sta_info_stop(local);
rate_control_deinitialize(local);
if (skb_queue_len(&local->skb_queue) ||
@@ -1025,6 +1024,7 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
destroy_workqueue(local->workqueue);
wiphy_unregister(local->hw.wiphy);
+ sta_info_stop(local);
ieee80211_wep_free(local);
ieee80211_led_exit(local);
kfree(local->int_scan_req);
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 645437c..c148651 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -616,6 +616,9 @@ int wiphy_register(struct wiphy *wiphy)
if (res)
goto out_rm_dev;
+ rtnl_lock();
+ rdev->wiphy.registered = true;
+ rtnl_unlock();
return 0;
out_rm_dev:
@@ -647,6 +650,10 @@ void wiphy_unregister(struct wiphy *wiphy)
{
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
+ rtnl_lock();
+ rdev->wiphy.registered = false;
+ rtnl_unlock();
+
rfkill_unregister(rdev->rfkill);
/* protect the device list */
diff --git a/net/wireless/sysfs.c b/net/wireless/sysfs.c
index c6e4ca6..ff57459 100644
--- a/net/wireless/sysfs.c
+++ b/net/wireless/sysfs.c
@@ -93,7 +93,8 @@ static int wiphy_suspend(struct device *dev, pm_message_t state)
if (rdev->ops->suspend) {
rtnl_lock();
- ret = rdev->ops->suspend(&rdev->wiphy, rdev->wowlan);
+ if (rdev->wiphy.registered)
+ ret = rdev->ops->suspend(&rdev->wiphy, rdev->wowlan);
rtnl_unlock();
}
@@ -112,7 +113,8 @@ static int wiphy_resume(struct device *dev)
if (rdev->ops->resume) {
rtnl_lock();
- ret = rdev->ops->resume(&rdev->wiphy);
+ if (rdev->wiphy.registered)
+ ret = rdev->ops->resume(&rdev->wiphy);
rtnl_unlock();
}
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix suspend/resume races with unregister hw
2011-08-12 12:00 [PATCH] mac80211: fix suspend/resume races with unregister hw Stanislaw Gruszka
@ 2011-08-25 5:06 ` Johannes Berg
2011-08-25 15:07 ` [PATCH] cfg80211: document wiphy->registered Stanislaw Gruszka
[not found] ` <d9f6472975e34cb294831e32c8ce2346-mfwitten@gmail.com>
1 sibling, 1 reply; 8+ messages in thread
From: Johannes Berg @ 2011-08-25 5:06 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: linux-wireless, stable
On Fri, 2011-08-12 at 14:00 +0200, Stanislaw Gruszka wrote:
> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
> index ab12440..97db267 100644
> --- a/include/net/cfg80211.h
> +++ b/include/net/cfg80211.h
> @@ -1875,6 +1875,9 @@ struct wiphy {
> * you need use set_wiphy_dev() (see below) */
> struct device dev;
>
> + /* protects ->resume, ->suspend sysfs callbacks against unregister hw */
> + bool registered;
Warning(/home/wireless/wireless-testing//include/net/cfg80211.h:1927):
No description found for parameter 'registered'
please fix.
johannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] cfg80211: document wiphy->registered
2011-08-25 5:06 ` Johannes Berg
@ 2011-08-25 15:07 ` Stanislaw Gruszka
2011-08-25 16:24 ` Johannes Berg
0 siblings, 1 reply; 8+ messages in thread
From: Stanislaw Gruszka @ 2011-08-25 15:07 UTC (permalink / raw)
To: Johannes Berg, John W. Linville; +Cc: linux-wireless
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
include/net/cfg80211.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 791dd10..f226552 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1784,6 +1784,7 @@ struct wiphy_wowlan_support {
* @debugfsdir: debugfs directory used for this wiphy, will be renamed
* automatically on wiphy renames
* @dev: (virtual) struct device for this wiphy
+ * @registered: helps synchronize suspend/resume with wiphy unregister
* @wext: wireless extension handlers
* @priv: driver private data (sized according to wiphy_new() parameter)
* @interface_modes: bitmask of interfaces types valid for this wiphy,
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] cfg80211: document wiphy->registered
2011-08-25 15:07 ` [PATCH] cfg80211: document wiphy->registered Stanislaw Gruszka
@ 2011-08-25 16:24 ` Johannes Berg
0 siblings, 0 replies; 8+ messages in thread
From: Johannes Berg @ 2011-08-25 16:24 UTC (permalink / raw)
To: Stanislaw Gruszka; +Cc: John W. Linville, linux-wireless
On Thu, 25 Aug 2011 17:07:24 +0200, Stanislaw Gruszka wrote:
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Thanks!
johannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix suspend/resume races with unregister hw
[not found] ` <d9f6472975e34cb294831e32c8ce2346-mfwitten@gmail.com>
@ 2011-09-08 6:44 ` Stanislaw Gruszka
[not found] ` <CAMOZ1BvsPok-AZVCwKnv0hWWXyV+np+nARjGRqwqsvC-du_GAw@mail.gmail.com>
0 siblings, 1 reply; 8+ messages in thread
From: Stanislaw Gruszka @ 2011-09-08 6:44 UTC (permalink / raw)
To: Michael Witten; +Cc: Johannes Berg, John W. Linville, linux-wireless, stable
[-- Attachment #1: Type: text/plain, Size: 1335 bytes --]
On Wed, Sep 07, 2011 at 09:50:29PM -0000, Michael Witten wrote:
> My boot process is stalling proximate the following messages (after a period
> of time, some other message might show up, but the boot never progresses much
> further):
>
> cfg80211: World regulatory domain updated:
> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
> cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
>
> I bisected to this patch, namely via the following commit:
>
> commit ecb4433550f0620f3d1471ae7099037ede30a91e
> Author: Stanislaw Gruszka <sgruszka@redhat.com>
> Date: Fri Aug 12 14:00:59 2011 +0200
Grr, crap.
>
> Now, it may be the case that my system startup's scripts are doing something
> funny, as the stall described above occurs after Arch Linux outputs:
>
> Waiting for UDev uevents to be processed
>
> At this point, that's all I know.
What wireless driver are you using? If this is ipw2x00 please try
attached patch.
Thanks
Stanislaw
[-- Attachment #2: ipw2x00_do_not_call_wiphy_register_with_rtnl_lock.patch --]
[-- Type: text/plain, Size: 3871 bytes --]
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
index 3774dd0..ef9ad79 100644
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
@@ -1903,15 +1903,17 @@ static void ipw2100_down(struct ipw2100_priv *priv)
static int ipw2100_net_init(struct net_device *dev)
{
struct ipw2100_priv *priv = libipw_priv(dev);
+
+ return ipw2100_up(priv, 1);
+}
+
+static int ipw2100_wdev_init(struct net_device *dev)
+{
+ struct ipw2100_priv *priv = libipw_priv(dev);
const struct libipw_geo *geo = libipw_get_geo(priv->ieee);
struct wireless_dev *wdev = &priv->ieee->wdev;
- int ret;
int i;
- ret = ipw2100_up(priv, 1);
- if (ret)
- return ret;
-
memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN);
/* fill-out priv->ieee->bg_band */
@@ -6350,9 +6352,13 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
"Error calling register_netdev.\n");
goto fail;
}
+ registered = 1;
+
+ err = ipw2100_wdev_init(dev);
+ if (err)
+ goto fail;
mutex_lock(&priv->action_mutex);
- registered = 1;
IPW_DEBUG_INFO("%s: Bound to %s\n", dev->name, pci_name(pci_dev));
@@ -6389,7 +6395,8 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
fail_unlock:
mutex_unlock(&priv->action_mutex);
-
+ wiphy_unregister(priv->ieee->wdev.wiphy);
+ kfree(priv->ieee->bg_band.channels);
fail:
if (dev) {
if (registered)
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index 87813c3..6a6d48f 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -11425,16 +11425,23 @@ static void ipw_bg_down(struct work_struct *work)
/* Called by register_netdev() */
static int ipw_net_init(struct net_device *dev)
{
+ int rc = 0;
+ struct ipw_priv *priv = libipw_priv(dev);
+
+ mutex_lock(&priv->mutex);
+ if (ipw_up(priv))
+ rc = -EIO;
+ mutex_unlock(&priv->mutex);
+
+ return rc;
+}
+
+static int ipw_wdev_init(struct net_device *dev)
+{
int i, rc = 0;
struct ipw_priv *priv = libipw_priv(dev);
const struct libipw_geo *geo = libipw_get_geo(priv->ieee);
struct wireless_dev *wdev = &priv->ieee->wdev;
- mutex_lock(&priv->mutex);
-
- if (ipw_up(priv)) {
- rc = -EIO;
- goto out;
- }
memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN);
@@ -11519,13 +11526,9 @@ static int ipw_net_init(struct net_device *dev)
set_wiphy_dev(wdev->wiphy, &priv->pci_dev->dev);
/* With that information in place, we can now register the wiphy... */
- if (wiphy_register(wdev->wiphy)) {
+ if (wiphy_register(wdev->wiphy))
rc = -EIO;
- goto out;
- }
-
out:
- mutex_unlock(&priv->mutex);
return rc;
}
@@ -11678,7 +11681,6 @@ static int ipw_prom_alloc(struct ipw_priv *priv)
if (rc) {
free_libipw(priv->prom_net_dev, 1);
priv->prom_net_dev = NULL;
- return rc;
}
return 0;
@@ -11832,14 +11834,23 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
goto out_remove_sysfs;
}
+ err = ipw_wdev_init(net_dev);
+ if (err) {
+ IPW_ERROR("failed to register wireless device\n");
+ goto out_unregister_netdev;
+ }
+
#ifdef CONFIG_IPW2200_PROMISCUOUS
if (rtap_iface) {
err = ipw_prom_alloc(priv);
if (err) {
IPW_ERROR("Failed to register promiscuous network "
"device (error %d).\n", err);
- unregister_netdev(priv->net_dev);
- goto out_remove_sysfs;
+
+ wiphy_unregister(priv->ieee->wdev.wiphy);
+ kfree(priv->ieee->a_band.channels);
+ kfree(priv->ieee->bg_band.channels);
+ goto out_unregister_netdev;
}
}
#endif
@@ -11851,6 +11862,8 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
return 0;
+ out_unregister_netdev:
+ unregister_netdev(priv->net_dev);
out_remove_sysfs:
sysfs_remove_group(&pdev->dev.kobj, &ipw_attribute_group);
out_release_irq:
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix suspend/resume races with unregister hw
[not found] ` <CAMOZ1BvsPok-AZVCwKnv0hWWXyV+np+nARjGRqwqsvC-du_GAw@mail.gmail.com>
@ 2011-09-08 16:26 ` Stanislaw Gruszka
2011-09-08 16:54 ` Witold Baryluk
[not found] ` <CAMOZ1Bs_DesZoyYw6yzC8CdqR3yLgXXpBzxvsEsQ0eX4L6Vw+A@mail.gmail.com>
0 siblings, 2 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2011-09-08 16:26 UTC (permalink / raw)
To: Michael Witten
Cc: Johannes Berg, John W. Linville, linux-wireless, stable, Witold Baryluk
On Thu, Sep 08, 2011 at 04:04:28PM +0000, Michael Witten wrote:
> On Thu, Sep 8, 2011 at 06:44, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> > On Wed, Sep 07, 2011 at 09:50:29PM -0000, Michael Witten wrote:
> >> My boot process is stalling proximate the following messages (after a period
> >> of time, some other message might show up, but the boot never progresses much
> >> further):
> >>
> >> cfg80211: World regulatory domain updated:
> >> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
> >> cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> >> cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> >> cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> >> cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> >> cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> >>
> >> I bisected to this patch, namely via the following commit:
> >>
> >> commit ecb4433550f0620f3d1471ae7099037ede30a91e
> >> Author: Stanislaw Gruszka <sgruszka@redhat.com>
> >> Date: Fri Aug 12 14:00:59 2011 +0200
> >
> > Grr, crap.
> >
> >>
> >> Now, it may be the case that my system startup's scripts are doing something
> >> funny, as the stall described above occurs after Arch Linux outputs:
> >>
> >> Waiting for UDev uevents to be processed
> >>
> >> At this point, that's all I know.
> >
> > What wireless driver are you using? If this is ipw2x00 please try
> > attached patch.
>
> I am indeed using `ipw2200', and your patch seems to fix the problem.
>
> How did you know what to do?
You are not the first person who hit this bug and did bisection :-/
Witold (CCed) did it. Can you also check if wireless network and rmmod
ipw2x00 works? I did not yet receive that information from Witold
regarding latest patch.
Thanks
Stanislaw
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix suspend/resume races with unregister hw
2011-09-08 16:26 ` Stanislaw Gruszka
@ 2011-09-08 16:54 ` Witold Baryluk
[not found] ` <CAMOZ1Bs_DesZoyYw6yzC8CdqR3yLgXXpBzxvsEsQ0eX4L6Vw+A@mail.gmail.com>
1 sibling, 0 replies; 8+ messages in thread
From: Witold Baryluk @ 2011-09-08 16:54 UTC (permalink / raw)
To: Stanislaw Gruszka
Cc: Michael Witten, Johannes Berg, John W. Linville, linux-wireless, stable
[-- Attachment #1: Type: text/plain, Size: 2155 bytes --]
On 09-08 18:26, Stanislaw Gruszka wrote:
> On Thu, Sep 08, 2011 at 04:04:28PM +0000, Michael Witten wrote:
> > On Thu, Sep 8, 2011 at 06:44, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> > > On Wed, Sep 07, 2011 at 09:50:29PM -0000, Michael Witten wrote:
> > >> My boot process is stalling proximate the following messages (after a period
> > >> of time, some other message might show up, but the boot never progresses much
> > >> further):
> > >>
> > >> cfg80211: World regulatory domain updated:
> > >> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
> > >> cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> > >> cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> > >> cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> > >> cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> > >> cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> > >>
> > >> I bisected to this patch, namely via the following commit:
> > >>
> > >> commit ecb4433550f0620f3d1471ae7099037ede30a91e
> > >> Author: Stanislaw Gruszka <sgruszka@redhat.com>
> > >> Date: Fri Aug 12 14:00:59 2011 +0200
> > >
> > > Grr, crap.
> > >
> > >>
> > >> Now, it may be the case that my system startup's scripts are doing something
> > >> funny, as the stall described above occurs after Arch Linux outputs:
> > >>
> > >> Waiting for UDev uevents to be processed
> > >>
> > >> At this point, that's all I know.
> > >
> > > What wireless driver are you using? If this is ipw2x00 please try
> > > attached patch.
> >
> > I am indeed using `ipw2200', and your patch seems to fix the problem.
> >
> > How did you know what to do?
>
> You are not the first person who hit this bug and did bisection :-/
> Witold (CCed) did it. Can you also check if wireless network and rmmod
> ipw2x00 works? I did not yet receive that information from Witold
> regarding latest patch.
I'm just checking it (latest patch). Hit some another bug in logfs :)
--
Witold Baryluk
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix suspend/resume races with unregister hw
[not found] ` <CAMOZ1Bs_DesZoyYw6yzC8CdqR3yLgXXpBzxvsEsQ0eX4L6Vw+A@mail.gmail.com>
@ 2011-09-08 16:57 ` Witold Baryluk
0 siblings, 0 replies; 8+ messages in thread
From: Witold Baryluk @ 2011-09-08 16:57 UTC (permalink / raw)
To: Michael Witten
Cc: Stanislaw Gruszka, Johannes Berg, John W. Linville,
linux-wireless, stable
[-- Attachment #1: Type: text/plain, Size: 924 bytes --]
On 09-08 16:41, Michael Witten wrote:
>
> Interestingly, though, `lsmod' shows the following:
>
> Module Size Used by
> ...
> ipw2200 109206 0
> ...
>
> even when the wireless network is up and running; I would have
> expected the `Used by' column to show that `ipw2200' is being used by
> at least something else; the consequence is that I am able to run
> `rmmod' on `ipw2200' while the wireless network is up and running,
> which seems odd (though it causes no discernible error).
Hi.
I think this was always so. I just checked other system
with vanila 3.0.0 kernel, and it also says "Used by" == 0
I do not remember exactly, but I think it was always saying zero.
You can actually always rmmod ipw220, regardles
whetever network interface is used, opened, up, or whetever.
I guess hot plug is important here.
Regards,
Witek
--
Witold Baryluk
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-09-08 23:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-12 12:00 [PATCH] mac80211: fix suspend/resume races with unregister hw Stanislaw Gruszka
2011-08-25 5:06 ` Johannes Berg
2011-08-25 15:07 ` [PATCH] cfg80211: document wiphy->registered Stanislaw Gruszka
2011-08-25 16:24 ` Johannes Berg
[not found] ` <d9f6472975e34cb294831e32c8ce2346-mfwitten@gmail.com>
2011-09-08 6:44 ` [PATCH] mac80211: fix suspend/resume races with unregister hw Stanislaw Gruszka
[not found] ` <CAMOZ1BvsPok-AZVCwKnv0hWWXyV+np+nARjGRqwqsvC-du_GAw@mail.gmail.com>
2011-09-08 16:26 ` Stanislaw Gruszka
2011-09-08 16:54 ` Witold Baryluk
[not found] ` <CAMOZ1Bs_DesZoyYw6yzC8CdqR3yLgXXpBzxvsEsQ0eX4L6Vw+A@mail.gmail.com>
2011-09-08 16:57 ` Witold Baryluk
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.