Bug 14757

Summary: wireless keeps disconnecting and will not reconnect without reboot.
Product: Networking Reporter: Anish Bhatt (anish.7)
Component: WirelessAssignee: networking_wireless (networking_wireless)
Status: CLOSED CODE_FIX    
Severity: normal CC: doochik, linville, reinette.chatre, rjmx, rjw, yi.zhu
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 14230    
Attachments: fix scan abort sanity checks

Description Anish Bhatt 2009-12-07 04:18:57 UTC
quite frequently, my wireless connection will disconnect and does not reconnect with a reboot. dmesg shows a couple of warnings every time this happens. I haven't found a way to get the wireless up and running without a reboot after this. wlan0 will go down, and iwlist scan will also return no results even if interface is brought up manually. 

This used to work fine in 2.6.31, but I occassionally saw some warnings. These warnings were not seen in 2.6.30. Wireless connection used to be rock solid before 2.6.32

Hardware : intel 4965 wireless adapter
wpa_supplicant version : 0.6.9

Dec 6 19:45:41 cellardoor dhcpcd: wlan0: carrier lost
Dec 6 19:45:41 cellardoor avahi-daemon[1175]: Withdrawing address record for fe80::213:e8ff:fe55:4115 on wlan0.
Dec 6 19:45:41 cellardoor dhcpcd: sending signal 1 to pid 1365
Dec 6 19:45:41 cellardoor dhcpcd: waiting for pid 1365 to exit
Dec 6 19:45:41 cellardoor dhcpcd: received SIGHUP, releasing lease
Dec 6 19:45:41 cellardoor dhcpcd: wlan0: removing interface
Dec 6 19:45:41 cellardoor kernel: Registered led device: iwl-phy0::radio
Dec 6 19:45:41 cellardoor kernel: Registered led device: iwl-phy0::assoc
Dec 6 19:45:41 cellardoor kernel: Registered led device: iwl-phy0::RX
Dec 6 19:45:41 cellardoor kernel: Registered led device: iwl-phy0::TX
Dec 6 19:45:41 cellardoor kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Dec 6 19:45:41 cellardoor kernel: ------------[ cut here ]------------
Dec 6 19:45:41 cellardoor kernel: WARNING: at net/mac80211/scan.c:267 ieee80211_scan_completed+0x25d/0x270()
Dec 6 19:45:41 cellardoor kernel: Hardware name: HP Pavilion dv6500 Notebook PC
Dec 6 19:45:41 cellardoor kernel: Modules linked in: ipv6 joydev fuse btusb bluetooth uvcvideo snd_hda_codec_si3054 snd_hda_codec_realtek snd_seq_dummy snd_hda_intel snd_seq_oss snd_seq_midi_event snd_hda_codec snd_seq snd_seq_device snd_hwdep iTCO_wdt r8169 snd_pcm_oss snd_pcm snd_timer snd_mixer_oss sdhci_pci ohci1394 uhci_hcd ehci_hcd video psmouse sdhci ricoh_mmc ieee1394 snd_page_alloc mii iTCO_vendor_support ac battery intel_agp output snd usbcore serio_raw nvidia(P) evdev ide_cd_mod button thermal coretemp cpufreq_powersave acpi_cpufreq processor rtc_cmos
Dec 6 19:45:41 cellardoor kernel: Pid: 1245, comm: wpa_supplicant Tainted: P A 2.6.32-ARCH #3
Dec 6 19:45:41 cellardoor kernel: Call Trace:
Dec 6 19:45:41 cellardoor kernel: [<c103953e>] ? warn_slowpath_common+0x6e/0xb0
Dec 6 19:45:41 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:45:41 cellardoor kernel: [<c1039593>] ? warn_slowpath_null+0x13/0x20
Dec 6 19:45:41 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:45:41 cellardoor kernel: [<c13b2696>] ? ieee80211_stop+0x526/0x540
Dec 6 19:45:41 cellardoor kernel: [<c1050940>] ? wakeme_after_rcu+0x0/0x10
Dec 6 19:45:41 cellardoor kernel: [<c13dc7f8>] ? _spin_lock_bh+0x8/0x30
Dec 6 19:45:41 cellardoor kernel: [<c132d64e>] ? dev_deactivate+0x15e/0x170
Dec 6 19:45:41 cellardoor kernel: [<c131c6cb>] ? dev_close+0x5b/0xb0
Dec 6 19:45:41 cellardoor kernel: [<c1319b60>] ? dev_set_rx_mode+0x20/0x40
Dec 6 19:45:41 cellardoor kernel: [<c131bfb0>] ? dev_change_flags+0x80/0x1a0
Dec 6 19:45:41 cellardoor kernel: [<c1368e4c>] ? devinet_ioctl+0x6dc/0x770
Dec 6 19:45:41 cellardoor kernel: [<c1318ae5>] ? __dev_get_by_name+0x75/0x90
Dec 6 19:45:41 cellardoor kernel: [<c130ab45>] ? sock_ioctl+0x65/0x260
Dec 6 19:45:41 cellardoor kernel: [<c130aae0>] ? sock_ioctl+0x0/0x260
Dec 6 19:45:41 cellardoor kernel: [<c10de4db>] ? vfs_ioctl+0x1b/0xa0
Dec 6 19:45:41 cellardoor kernel: [<c10de6d9>] ? do_vfs_ioctl+0x79/0x5d0
Dec 6 19:45:41 cellardoor kernel: [<c130c897>] ? sys_send+0x37/0x40
Dec 6 19:45:41 cellardoor kernel: [<c130d5b4>] ? sys_socketcall+0x1d4/0x2a0
Dec 6 19:45:41 cellardoor kernel: [<c10deca6>] ? sys_ioctl+0x76/0x90
Dec 6 19:45:41 cellardoor kernel: [<c1003993>] ? sysenter_do_call+0x12/0x28
Dec 6 19:45:41 cellardoor kernel: ---[ end trace 7b8c9786145ceb8f ]---
Dec 6 19:45:42 cellardoor kernel: ------------[ cut here ]------------
Dec 6 19:45:42 cellardoor kernel: WARNING: at net/wireless/core.c:614 wdev_cleanup_work+0x9f/0xc0()
Dec 6 19:45:42 cellardoor kernel: Hardware name: HP Pavilion dv6500 Notebook PC
Dec 6 19:45:42 cellardoor kernel: Modules linked in: ipv6 joydev fuse btusb bluetooth uvcvideo snd_hda_codec_si3054 snd_hda_codec_realtek snd_seq_dummy snd_hda_intel snd_seq_oss snd_seq_midi_event snd_hda_codec snd_seq snd_seq_device snd_hwdep iTCO_wdt r8169 snd_pcm_oss snd_pcm snd_timer snd_mixer_oss sdhci_pci ohci1394 uhci_hcd ehci_hcd video psmouse sdhci ricoh_mmc ieee1394 snd_page_alloc mii iTCO_vendor_support ac battery intel_agp output snd usbcore serio_raw nvidia(P) evdev ide_cd_mod button thermal coretemp cpufreq_powersave acpi_cpufreq processor rtc_cmos
Dec 6 19:45:42 cellardoor kernel: Pid: 9, comm: events/0 Tainted: P AW 2.6.32-ARCH #3
Dec 6 19:45:42 cellardoor kernel: Call Trace:
Dec 6 19:45:42 cellardoor kernel: [<c103953e>] ? warn_slowpath_common+0x6e/0xb0
Dec 6 19:45:42 cellardoor kernel: [<c139175f>] ? wdev_cleanup_work+0x9f/0xc0
Dec 6 19:45:42 cellardoor kernel: [<c13916c0>] ? wdev_cleanup_work+0x0/0xc0
Dec 6 19:45:42 cellardoor kernel: [<c1039593>] ? warn_slowpath_null+0x13/0x20
Dec 6 19:45:42 cellardoor kernel: [<c139175f>] ? wdev_cleanup_work+0x9f/0xc0
Dec 6 19:45:42 cellardoor kernel: [<c104ee7f>] ? worker_thread+0x11f/0x260
Dec 6 19:45:42 cellardoor kernel: [<c1052d40>] ? autoremove_wake_function+0x0/0x40
Dec 6 19:45:42 cellardoor kernel: [<c104ed60>] ? worker_thread+0x0/0x260
Dec 6 19:45:42 cellardoor kernel: [<c1052a94>] ? kthread+0x74/0x80
Dec 6 19:45:42 cellardoor kernel: [<c1052a20>] ? kthread+0x0/0x80
Dec 6 19:45:42 cellardoor kernel: [<c100458f>] ? kernel_thread_helper+0x7/0x18
Dec 6 19:45:42 cellardoor kernel: ---[ end trace 7b8c9786145ceb90 ]---
Dec 6 19:45:44 cellardoor dnsmasq[1148]: reading /etc/resolv.conf
Dec 6 19:45:44 cellardoor dnsmasq[1148]: ignoring nameserver 127.0.0.1 - local interface
Dec 6 19:46:17 cellardoor dhcpcd: version 5.1.3 starting
Dec 6 19:46:17 cellardoor kernel: Registered led device: iwl-phy0::radio
Dec 6 19:46:17 cellardoor kernel: Registered led device: iwl-phy0::assoc
Dec 6 19:46:17 cellardoor kernel: Registered led device: iwl-phy0::RX
Dec 6 19:46:17 cellardoor kernel: Registered led device: iwl-phy0::TX
Dec 6 19:46:17 cellardoor kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Dec 6 19:46:17 cellardoor dhcpcd: wlan0: waiting for carrier
Dec 6 19:46:17 cellardoor kernel: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Dec 6 19:46:17 cellardoor dnsmasq[1148]: reading /etc/resolv.conf
Dec 6 19:46:17 cellardoor dnsmasq[1148]: ignoring nameserver 127.0.0.1 - local interface
Dec 6 19:46:19 cellardoor avahi-daemon[1175]: Registering new address record for fe80::213:e8ff:fe55:4115 on wlan0.*.
Dec 6 19:51:27 cellardoor kernel: r8169: eth0: link up
Dec 6 19:51:27 cellardoor kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Dec 6 19:51:28 cellardoor avahi-daemon[1175]: Registering new address record for fe80::21b:24ff:fe84:622d on eth0.*.
Dec 6 19:51:38 cellardoor kernel: ------------[ cut here ]------------
Dec 6 19:51:38 cellardoor kernel: WARNING: at net/mac80211/scan.c:267 ieee80211_scan_completed+0x25d/0x270()
Dec 6 19:51:38 cellardoor kernel: Hardware name: HP Pavilion dv6500 Notebook PC
Dec 6 19:51:38 cellardoor kernel: Modules linked in: ipv6 joydev fuse btusb bluetooth uvcvideo snd_hda_codec_si3054 snd_hda_codec_realtek snd_seq_dummy snd_hda_intel snd_seq_oss snd_seq_midi_event snd_hda_codec snd_seq snd_seq_device snd_hwdep iTCO_wdt r8169 snd_pcm_oss snd_pcm snd_timer snd_mixer_oss sdhci_pci ohci1394 uhci_hcd ehci_hcd video psmouse sdhci ricoh_mmc ieee1394 snd_page_alloc mii iTCO_vendor_support ac battery intel_agp output snd usbcore serio_raw nvidia(P) evdev ide_cd_mod button thermal coretemp cpufreq_powersave acpi_cpufreq processor rtc_cmos
Dec 6 19:51:38 cellardoor kernel: Pid: 2496, comm: ifconfig Tainted: P AW 2.6.32-ARCH #3
Dec 6 19:51:38 cellardoor kernel: Call Trace:
Dec 6 19:51:38 cellardoor kernel: [<c103953e>] ? warn_slowpath_common+0x6e/0xb0
Dec 6 19:51:38 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:51:38 cellardoor kernel: [<c1039593>] ? warn_slowpath_null+0x13/0x20
Dec 6 19:51:38 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:51:38 cellardoor kernel: [<c13b2696>] ? ieee80211_stop+0x526/0x540
Dec 6 19:51:38 cellardoor kernel: [<c1050940>] ? wakeme_after_rcu+0x0/0x10
Dec 6 19:51:38 cellardoor kernel: [<c13dc7f8>] ? _spin_lock_bh+0x8/0x30
Dec 6 19:51:38 cellardoor kernel: [<c132d64e>] ? dev_deactivate+0x15e/0x170
Dec 6 19:51:38 cellardoor kernel: [<c131c6cb>] ? dev_close+0x5b/0xb0
Dec 6 19:51:38 cellardoor kernel: [<c1319b60>] ? dev_set_rx_mode+0x20/0x40
Dec 6 19:51:38 cellardoor kernel: [<c131bfb0>] ? dev_change_flags+0x80/0x1a0
Dec 6 19:51:38 cellardoor kernel: [<c1368e4c>] ? devinet_ioctl+0x6dc/0x770
Dec 6 19:51:38 cellardoor kernel: [<c1318ae5>] ? __dev_get_by_name+0x75/0x90
Dec 6 19:51:38 cellardoor kernel: [<c109e378>] ? find_get_page+0x28/0xc0
Dec 6 19:51:38 cellardoor kernel: [<c130ab45>] ? sock_ioctl+0x65/0x260
Dec 6 19:51:38 cellardoor kernel: [<c130aae0>] ? sock_ioctl+0x0/0x260
Dec 6 19:51:38 cellardoor kernel: [<c10de4db>] ? vfs_ioctl+0x1b/0xa0
Dec 6 19:51:38 cellardoor kernel: [<c10de6d9>] ? do_vfs_ioctl+0x79/0x5d0
Dec 6 19:51:38 cellardoor kernel: [<c109ec00>] ? filemap_fault+0x0/0x410
Dec 6 19:51:38 cellardoor kernel: [<c10b74f1>] ? handle_mm_fault+0x101/0x740
Dec 6 19:51:38 cellardoor kernel: [<c10deca6>] ? sys_ioctl+0x76/0x90
Dec 6 19:51:38 cellardoor kernel: [<c1003993>] ? sysenter_do_call+0x12/0x28
Dec 6 19:51:38 cellardoor kernel: ---[ end trace 7b8c9786145ceb91 ]---
Dec 6 19:51:38 cellardoor avahi-daemon[1175]: Withdrawing address record for fe80::213:e8ff:fe55:4115 on wlan0.
Dec 6 19:51:38 cellardoor kernel: Registered led device: iwl-phy0::radio
Dec 6 19:51:38 cellardoor kernel: Registered led device: iwl-phy0::assoc
Dec 6 19:51:38 cellardoor kernel: Registered led device: iwl-phy0::RX
Dec 6 19:51:38 cellardoor kernel: Registered led device: iwl-phy0::TX
Dec 6 19:51:38 cellardoor kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Dec 6 19:51:38 cellardoor avahi-daemon[1175]: Withdrawing address record for fe80::21b:24ff:fe84:622d on eth0.
Dec 6 19:51:38 cellardoor kernel: ------------[ cut here ]------------
Dec 6 19:51:38 cellardoor kernel: WARNING: at net/mac80211/scan.c:267 ieee80211_scan_completed+0x25d/0x270()
Dec 6 19:51:38 cellardoor kernel: Hardware name: HP Pavilion dv6500 Notebook PC
Dec 6 19:51:38 cellardoor kernel: Modules linked in: ipv6 joydev fuse btusb bluetooth uvcvideo snd_hda_codec_si3054 snd_hda_codec_realtek snd_seq_dummy snd_hda_intel snd_seq_oss snd_seq_midi_event snd_hda_codec snd_seq snd_seq_device snd_hwdep iTCO_wdt r8169 snd_pcm_oss snd_pcm snd_timer snd_mixer_oss sdhci_pci ohci1394 uhci_hcd ehci_hcd video psmouse sdhci ricoh_mmc ieee1394 snd_page_alloc mii iTCO_vendor_support ac battery intel_agp output snd usbcore serio_raw nvidia(P) evdev ide_cd_mod button thermal coretemp cpufreq_powersave acpi_cpufreq processor rtc_cmos
Dec 6 19:51:38 cellardoor kernel: Pid: 2235, comm: wpa_supplicant Tainted: P AW 2.6.32-ARCH #3
Dec 6 19:51:38 cellardoor kernel: Call Trace:
Dec 6 19:51:38 cellardoor kernel: [<c103953e>] ? warn_slowpath_common+0x6e/0xb0
Dec 6 19:51:38 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:51:38 cellardoor kernel: [<c1039593>] ? warn_slowpath_null+0x13/0x20
Dec 6 19:51:38 cellardoor kernel: [<c13aa7ad>] ? ieee80211_scan_completed+0x25d/0x270
Dec 6 19:51:38 cellardoor kernel: [<c13b2696>] ? ieee80211_stop+0x526/0x540
Dec 6 19:51:38 cellardoor kernel: [<c1050940>] ? wakeme_after_rcu+0x0/0x10
Dec 6 19:51:38 cellardoor kernel: [<c13dc7f8>] ? _spin_lock_bh+0x8/0x30
Dec 6 19:51:38 cellardoor kernel: [<c132d64e>] ? dev_deactivate+0x15e/0x170
Dec 6 19:51:38 cellardoor kernel: [<c131c6cb>] ? dev_close+0x5b/0xb0
Dec 6 19:51:38 cellardoor kernel: [<c1319b60>] ? dev_set_rx_mode+0x20/0x40
Dec 6 19:51:38 cellardoor kernel: [<c131bfb0>] ? dev_change_flags+0x80/0x1a0
Dec 6 19:51:38 cellardoor kernel: [<c1368e4c>] ? devinet_ioctl+0x6dc/0x770
Dec 6 19:51:38 cellardoor kernel: [<c1318ae5>] ? __dev_get_by_name+0x75/0x90
Dec 6 19:51:38 cellardoor kernel: [<c130ab45>] ? sock_ioctl+0x65/0x260
Dec 6 19:51:38 cellardoor kernel: [<c130aae0>] ? sock_ioctl+0x0/0x260
Dec 6 19:51:38 cellardoor kernel: [<c10de4db>] ? vfs_ioctl+0x1b/0xa0
Dec 6 19:51:38 cellardoor kernel: [<c10de6d9>] ? do_vfs_ioctl+0x79/0x5d0
Dec 6 19:51:38 cellardoor kernel: [<c130c897>] ? sys_send+0x37/0x40
Dec 6 19:51:38 cellardoor kernel: [<c130d5b4>] ? sys_socketcall+0x1d4/0x2a0
Dec 6 19:51:38 cellardoor kernel: [<c10deca6>] ? sys_ioctl+0x76/0x90
Dec 6 19:51:38 cellardoor kernel: [<c1003993>] ? sysenter_do_call+0x12/0x28
Dec 6 19:51:38 cellardoor kernel: ---[ end trace 7b8c9786145ceb92 ]---
Comment 1 Ron Murray 2009-12-07 18:27:03 UTC
Same problem here on my Sony VGN-CR507E laptop, although failures seem to happen only when resuming after a suspend.
Comment 2 Anish Bhatt 2009-12-07 19:13:07 UTC
I get the problem during regular use as well as suspend. Can provide more debugging information if needed
Comment 3 John W. Linville 2009-12-08 14:15:51 UTC
Wild guess, but warnings in wdev_cleanup_work and ieee80211_scan_completed suggests an IFF_DOWN while a scan is in progress.  I'm not sure who/what is doing the IFF_DOWN -- maybe we could see a more complete dmesg capture?

Another random thought...is it possible you could be accidentally activating the rfkill switch?  On some laptops rfkill is just another key combination.  Hitting that by accident might explain the "can't connect until reboot" behaviour...?
Comment 4 Reinette Chatre 2009-12-08 17:13:43 UTC
Reporter posted duplicate bug at http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2134 where debugging has already started.
Comment 5 Zhu Yi 2009-12-14 06:46:59 UTC
The first WARN_ON (scan.c:267) has already been fixed by Johannes [1]. The second WARN_ON will go away also after this patch because cfg80211_scan_done() will then be called correctly to free the rdev->scan_req. This patch is in upstream, but I think we need also fix this for stable. John?

1.
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=commit;h=6d3560d4fc9c5b9fe1a07a63926ea70512c69c32
Comment 6 John W. Linville 2009-12-14 15:45:11 UTC
Just sent the patch to stable@kernel.org -- it's up to them to take it.
Comment 7 Anish Bhatt 2009-12-14 20:09:35 UTC
Could you link the patch here so that I can test it out ?
Comment 8 Reinette Chatre 2009-12-14 20:12:40 UTC
Created attachment 24187 [details]
fix scan abort sanity checks
Comment 9 Anish Bhatt 2009-12-16 08:55:15 UTC
patch works for me