Suspend Issues, or soft kernel locks + no networking, which is worse?

Eric Griffith egriffith92 at gmail.com
Sat Aug 6 23:52:34 BST 2011


Not necessarily related to KDE (Well..it might be actually,
knetworkmanager, read on) but you guys have been the most hopeful so
far so I'm giving it a shot, here we go.

Laptop Model: ASUS N73JQ-X2
Kernel: 2.6.40-4.fc15.i686   (yes, fedora. And thats kernel 3.0 essentially)

The last time Suspend worked with no issues was Linux Mint 10 which
had, I think, kernel 2.6.35 (with ubuntu mods).

Alright, here's what's happening: KDE Power Management is set that if
I close my laptop lid, it should go into sleep mode. When I close the
lid, I give it a few seconds to enter sleep, and then I open it back
up. I'm met with a black screen, with a blinking cursor in the top
left. Fedora (15) is non-responsive to keyboard and mouse events, only
solution is to power it down and power it back up.  Little googling
around and I'm met with a post by an owner of an ASUS N71, one
generation back. With a custom sleep script for ehci-hcd that worked
for them. Figure I'll give it a shot. Throw the script into
/etc/pm/sleep.d/, give it the necessary permissions. Reboot to make
sure it loads it, and then try sleep again.

It works!

...kinda.

Closed the lid, gave it a few seconds. Opened the lid back up, black
screen, and moved the mouse, my desktop appears a second later. I see
that knetworkmanager says I have no network; no problem, sleep always
kills the network interface before bringing it back up. Wait a second
wireless to come back....its not coming back. Mouse over
knetworkmanager in the systray: ethernet + wireless = 'unmanaged.'
*blink blink* Bug report pops up! Not for knetworkmanager... CPU #0 is
having soft kernel locks, and a lot of them. More and more bug reports
kept coming in, non stop until I powered down the laptop. Looking at
Fedora's automatic bug reporting, it says CPU#0 locked up for
23seconds, followed by the name of the custom sleep script I just
added. I'm pasting the sleep script below, if anyone is familiar with
suspend / sleep and can look it over, maybe give me a few hints on
what to do

Below is the backtrace for the kernel lockups, I do have more
information related to the lockup, but since Fedora keeps a bug report
inside 20+ different files each detailing 1 and only 1 thing, I'm not
sure which is relevant and which isn't.  Also below is the script.

Backtrace first:


BUG: soft lockup - CPU#0 stuck for 23s! [20_custom-ehci_:3920]
Modules linked in: ebtable_nat ebtables ipt_MASQUERADE iptable_nat
nf_nat xt_CHECKSUM iptable_mangle bridge sunrpc 8021q garp stp llc
cpufreq_ondemand acpi_cpufreq mperf ip6t_REJECT nf_conntrack_ipv6
nf_defrag_ipv6 ip6table_filter ip6_tables rfcomm nf_conntrack_ipv4
nf_defrag_ipv4 xt_state nf_conntrack bnep btusb snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer snd soundcore arc4 ath9k mac80211
ath9k_common ath9k_hw ath cfg80211 bluetooth snd_page_alloc
asus_laptop sparse_keymap rfkill virtio_net kvm_intel kvm fglrx(P)
iTCO_wdt xhci_hcd iTCO_vendor_support microcode i7core_edac uvcvideo
edac_core videodev joydev atl1c media serio_raw uas usb_storage video
radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
scsi_wait_scan]
Modules linked in: ebtable_nat ebtables ipt_MASQUERADE iptable_nat
nf_nat xt_CHECKSUM iptable_mangle bridge sunrpc 8021q garp stp llc
cpufreq_ondemand acpi_cpufreq mperf ip6t_REJECT nf_conntrack_ipv6
nf_defrag_ipv6 ip6table_filter ip6_tables rfcomm nf_conntrack_ipv4
nf_defrag_ipv4 xt_state nf_conntrack bnep btusb snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer snd soundcore arc4 ath9k mac80211
ath9k_common ath9k_hw ath cfg80211 bluetooth snd_page_alloc
asus_laptop sparse_keymap rfkill virtio_net kvm_intel kvm fglrx(P)
iTCO_wdt xhci_hcd iTCO_vendor_support microcode i7core_edac uvcvideo
edac_core videodev joydev atl1c media serio_raw uas usb_storage video
radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
scsi_wait_scan]
Pid: 3920, comm: 20_custom-ehci_ Tainted: P
2.6.40-4.fc15.i686 #1 ASUSTeK Computer Inc.         N71Jq/N71Jq
EIP: 0060:[<c0604a29>] EFLAGS: 00000203 CPU: 0
EIP is at dma_pte_free_pagetable+0xcf/0x1a0
EAX: 3000000f EBX: 00000004 ECX: 08000000 EDX: 00000005
ESI: 28000010 EDI: f3ada428 EBP: efe49e68 ESP: efe49e38
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process 20_custom-ehci_ (pid: 3920, ti=f400e000 task=f2853280 task.ti=efe48000)
Stack:
 efe49e58 08000000 00000004 07ffffff f389c100 00000000 f3ada000 ffffffff
 00000004 00000024 f389c100 f401f060 efe49e94 c0604fd9 ffffffff 00000000
 f389c10c 00000292 00000000 f401f000 f389c100 00000006 f401f060 efe49ea8
Call Trace:
 [<c0604fd9>] domain_exit+0xc5/0x18c
 [<c0605d79>] device_notifier+0x58/0x5f
 [<c081748f>] notifier_call_chain+0x2b/0x4d
 [<c045813e>] __blocking_notifier_call_chain+0x40/0x52
 [<c045816f>] blocking_notifier_call_chain+0x1f/0x21
 [<c067fda2>] __device_release_driver+0x98/0x9c
 [<c067fdc3>] device_release_driver+0x1d/0x28
 [<c067f2cb>] driver_unbind+0x4d/0x7b
 [<c067f27e>] ? store_drivers_probe+0x33/0x33
 [<c067edd6>] drv_attr_store+0x25/0x2a
 [<c0533e50>] sysfs_write_file+0xc3/0xee
 [<c04eb4a4>] vfs_write+0x8f/0xd7
 [<c0533d8d>] ? sysfs_open_file+0x1dc/0x1dc
 [<c04eb666>] sys_write+0x42/0x63
 [<c08143cc>] syscall_call+0x7/0xb
Code: e8 00 75 0f 8d 46 01 8d 53 01 e8 0b ed ff ff 89 c6 eb 70 8d 4b
ff b8 01 00 00 00 8b 7d e8 8d 0c c9 d3 e0 89 c1 8d 40 ff 89 45 dc <f6>
07 03 74 26 89 f8 89 4d d4 e8 23 ed ff ff 31 d2 2d 00 00 00


__________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________

SCRIPT:

#!/bin/sh
# copy to /etc/pm/sleep.d/,   chmod 755, and install acpi(d)
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug
# tidied by tqzzaa :)

VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
  for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
  done
}

bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done
    done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
}

case "$1" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;
esac


If you guys can't help, I'll throw it to the Fedora guys, but like I
said, of all the mailing lists / forums I've been to, you guys here on
the KDE list have been the most helpful so I'm giving you first crack
at this.
___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list