All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Mohr <andim2@users.sourceforge.net>
To: andi@lisas.de
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
	rjw@sisk.pl, e1000-devel@lists.sourceforge.net,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: e100 kills S2R on my box, plus network drops dead
Date: Wed, 3 Jun 2009 08:01:23 +0200	[thread overview]
Message-ID: <20090603060123.GA17558@rhlx01.hs-esslingen.de> (raw)
In-Reply-To: <20090602214852.GA3095@rhlx01.hs-esslingen.de>

Hi,

following my patch I tested -rc8 with it, everything pretty fine so far,
except for a S2R attempt:


PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.02 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
ACPI handle has no context!
serial 00:09: disabled
ACPI handle has no context!
r8169 0000:02:0f.0: PME# enabled
ACPI handle has no context!
ACPI handle has no context!
e100 0000:02:07.0: PCI INT A disabled
pci_legacy_suspend(): e100_suspend+0x0/0x20 [e100] returns -5
pm_op(): pci_pm_suspend+0x0/0xd7 returns -5
PM: Device 0000:02:07.0 failed to suspend: error -5
PM: Some devices failed to suspend
firewire_ohci 0000:02:0e.0: restoring config space at offset 0xf (was
0x4020100, writing 0x402010b)
firewire_ohci 0000:02:0e.0: restoring config space at offset 0x5 (was
0x0, writing 0xfddf8000)



static int e100_suspend(struct pci_dev *pdev, pm_message_t state)
{
        bool wake;
        __e100_shutdown(pdev, &wake);
        return __e100_power_off(pdev, wake);
}


static int __e100_power_off(struct pci_dev *pdev, bool wake)
{
        if (wake) {
                return pci_prepare_to_sleep(pdev);
        } else {
                pci_wake_from_d3(pdev, false);
                return pci_set_power_state(pdev, PCI_D3hot);
        }
}


Well, the problem being that my card does not _have_ any PM support:

lspci -vvv:

02:07.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet
Pro 100 (rev 01)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32 (2000ns min, 14000ns max)
        Interrupt: pin A routed to IRQ 21
        Region 0: Memory at fdaff000 (32-bit, prefetchable) [size=4K]
        Region 1: I/O ports at df00 [size=32]
        Region 2: Memory at fdc00000 (32-bit, non-prefetchable)
[size=1M]
        [virtual] Expansion ROM at fdb00000 [disabled] [size=1M]
        Kernel driver in use: e100



So I'm back up to the desktop rather quicker than I would have liked.


Worse, after resume I don't have my network back, and attempting to
unload e100 or ifconfig eth0 down results in this:

INFO: task nmbd:4633 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
nmbd          D 00000061     0  4633      1
 f56f7d14 00000082 0410aa36 00000061 00000100 f6716240 f61a7200 c0563740
 c0563740 f6716000 f56f7cd0 f61f3000 f61f3284 c1f1f740 00000001 04132611
 00000061 00000000 f56f7cfc c031fe90 f61a7200 40000040 f61f3284 f6716240
Call Trace:
 [<c031fe90>] ? ip_push_pending_frames+0x2b6/0x2c0
 [<c0336a8e>] ? udp_push_pending_frames+0x296/0x2e3
 [<c0365bef>] __mutex_lock_common+0x136/0x239
 [<c0365d04>] __mutex_lock_slowpath+0x12/0x15
 [<c0365dbc>] ? mutex_lock+0x21/0x2e
 [<c0365dbc>] mutex_lock+0x21/0x2e
 [<c030b7ad>] rtnetlink_rcv+0x10/0x24
 [<c0316723>] netlink_unicast+0xee/0x144
 [<c0316996>] netlink_sendmsg+0x21d/0x22a
 [<c02f800e>] sock_sendmsg+0xca/0xe1
 [<c01352bf>] ? autoremove_wake_function+0x0/0x33
 [<c01352bf>] ? autoremove_wake_function+0x0/0x33
 [<c0183e88>] ? set_fd_set+0x38/0x3d
 [<c011a47b>] ? __wake_up+0x31/0x3b
 [<c022cb52>] ? might_fault+0x17/0x19
 [<c022cb7e>] ? copy_from_user+0x2a/0x112
 [<c02f825b>] sys_sendto+0xa4/0xc3
 [<c02f893d>] ? move_addr_to_user+0x40/0x57
 [<c02f8c63>] ? sys_getsockname+0x52/0x6f
 [<c0199905>] ? inotify_d_instantiate+0x12/0x34
 [<c0185f9f>] ? __d_instantiate+0x2d/0x30
 [<c02f7d21>] ? sock_attach_fd+0x7e/0xab
 [<c02f8ecc>] sys_socketcall+0xd5/0x16d
 [<c01029f5>] syscall_call+0x7/0xb


IOW, we're deadlocking on the rtnl lock - something must have gone wrong network-wise
during suspend / emergency-resume handling.


IOW, we have _two_ issues:

- that PM suspend part here doesn't support non-PM PCI cards
- PM suspend breaks networking stuff (or is that caused by incomplete reinitialization of my card,
  thus it's not network-suitable after resume and hangs on some network APIs?)

What to do?

(I should have provided some SysRq-T(?) lock traces I guess, will record that now)

Oh, and I will test whether eepro100 S2R works on that machine, and if
so what that driver does to avoid trouble.

Thanks,

Andreas Mohr

  reply	other threads:[~2009-06-03  6:01 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-28  8:01 [GIT]: Networking David Miller
2008-12-28  8:01 ` David Miller
2008-12-29 10:25 ` Andreas Mohr
2008-12-29 10:25   ` Andreas Mohr
2008-12-29 17:17   ` Andrew Morton
2008-12-29 17:17     ` Andrew Morton
2008-12-29 21:09     ` Johannes Berg
2008-12-30 11:05       ` Andreas Mohr
2008-12-29 23:15     ` Jeff Kirsher
2008-12-29 23:15       ` Jeff Kirsher
2008-12-30 12:07       ` Andreas Mohr
2008-12-30 12:07         ` Andreas Mohr
2009-02-28 20:37         ` 2.6.29 e100.c non-MII support status? (Re: [GIT]: Networking) Andreas Mohr
2009-02-28 20:37           ` Andreas Mohr
2009-03-01 10:57           ` Jeff Kirsher
2009-03-01 21:24             ` Andreas Mohr
2009-06-02 21:48               ` [PATCH] Add non-MII PHY support to e100 (Re: 2.6.29 e100.c non-MII support status? (Re: [GIT]: Networking)) Andreas Mohr
2009-06-03  6:01                 ` Andreas Mohr [this message]
2009-06-03  6:30                   ` e100 kills S2R on my box, plus network drops dead Andreas Mohr
2009-06-03  6:30                     ` Andreas Mohr
2009-06-13 19:19                     ` [PATCH] Make e100 suspend handler support PCI cards lacking PM capability Andreas Mohr
2009-06-13 19:19                       ` Andreas Mohr
2009-06-13 22:28                       ` Rafael J. Wysocki
2009-06-13 22:45                         ` Rafael J. Wysocki
2009-06-13 22:45                           ` Rafael J. Wysocki
2009-06-14 12:51                         ` Andreas Mohr
2009-06-14 14:06                           ` Rafael J. Wysocki
2009-06-14 14:06                             ` Rafael J. Wysocki
2009-06-14 16:31                             ` Rafael J. Wysocki
2009-06-14 16:46                             ` Andreas Mohr
2009-06-14 16:46                               ` Andreas Mohr
2009-06-14 17:09                               ` Rafael J. Wysocki
2009-06-14 17:09                                 ` Rafael J. Wysocki
2009-06-14 17:20                                 ` Andreas Mohr
2009-06-14 17:20                                   ` Andreas Mohr
2009-06-19  8:00                                 ` Andreas Mohr
2009-06-14 19:46                               ` [PATCH] Net / e100: Fix suspend of devices that cannot be power managed Rafael J. Wysocki
2009-06-14 19:46                                 ` Rafael J. Wysocki
2009-06-18  2:03                                 ` David Miller

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=20090603060123.GA17558@rhlx01.hs-esslingen.de \
    --to=andim2@users.sourceforge.net \
    --cc=andi@lisas.de \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rjw@sisk.pl \
    /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 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.