Hi!

> > velocity_suspend() seems to be at fault.
> 
> (gdb) l *(velocity_suspend+0x37)
> 0xc0244665 is in velocity_suspend (drivers/net/via-velocity.c:3399).
> 3394          if(!netif_running(vptr->dev))
> 3395                  return 0;
> 3396  
> 3397          netif_device_detach(vptr->dev);
> 3398  
> 3399          spin_lock_irqsave(&vptr->lock, flags);
> 3400          pci_save_state(pdev);
> 3401  #ifdef ETHTOOL_GWOL
> 3402          if (vptr->flags & VELOCITY_FLAGS_WOL_ENABLED) {
> 3403                  velocity_get_ip(vptr);
> (gdb) 
> 3404                  velocity_save_context(vptr, &vptr->context);
> 3405                  velocity_shutdown(vptr);
> 3406                  velocity_set_wol(vptr);
> 3407                  pci_enable_wake(pdev, PCI_D3hot, 1);
> 3408                  pci_set_power_state(pdev, PCI_D3hot);
> 3409          } else {
> 3410                  velocity_save_context(vptr, &vptr->context);
> 3411                  velocity_shutdown(vptr);
> 3412                  pci_disable_device(pdev);
> 3413                  pci_set_power_state(pdev, pci_choose_state(pdev, 
> state));
> (gdb) 
> 3414          }
> 3415  #else
> 3416          pci_set_power_state(pdev, pci_choose_state(pdev, state));
> 3417  #endif
> 3418          spin_unlock_irqrestore(&vptr->lock, flags);
> 3419          return 0;
> 3420  }
> 
> So velocity_suspend calls spin_lock_irqsave, and then pci_set_power_state 
> which msleep()s.  Is that the root problem here? (I've added Ingo & Peter to 
> the CC list since they may have some comments on the scheduler/lockdep parts 
> of the trace).

Looks like velocity is broken. Can you try to unload it before sleep
to see if the rest of suspend works for you?

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to