Hi,
On Wed, Jun 03, 2009 at 08:01:23AM +0200, Andreas Mohr wrote:
> 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)
Those were not too useful methinks, but I can provide them if need be.
> Oh, and I will test whether eepro100 S2R works on that machine, and if
> so what that driver does to avoid trouble.
Well, yes, eepro100 (2.6.28.10) does achieve successful S2R,
and I _do_ have working network even after resume (which is not too astonishing
since it almost takes active measures to NOT make this card work,
given that it's fully auto-configuring on the transceiver side)
static int eepro100_suspend(struct pci_dev *pdev, pm_message_t state)
{
struct net_device *dev = pci_get_drvdata (pdev);
struct speedo_private *sp = netdev_priv(dev);
void __iomem *ioaddr = sp->regs;
pci_save_state(pdev);
if (!netif_running(dev))
return 0;
del_timer_sync(&sp->timer);
netif_device_detach(dev);
iowrite32(PortPartialReset, ioaddr + SCBPort);
/* XXX call pci_set_power_state ()? */
pci_disable_device(pdev);
pci_set_power_state (pdev, PCI_D3hot);
return 0;
}
That's pretty boring code, linearily executing stuff without checking
results, thus it's unsurprising that it does not prevent suspend
on a non-PM PCI card.
So, what to do to fix those suspend issues on the e100 side of things?
And do we perhaps have similar non-PM PCI card support issues
with other drivers?
Thanks,
Andreas Mohr
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel