Messages in this thread | | | Date | Wed, 29 Jun 2005 10:59:54 -0500 | Subject | Re: [PATCH 4/13]: PCI Err: e100 ethernet driver recovery | From | Linas Vepstas <> |
| |
On Wed, Jun 29, 2005 at 11:46:58AM +1000, Benjamin Herrenschmidt was heard to remark: > On Tue, 2005-06-28 at 18:58 -0500, Linas Vepstas wrote: > > /** e100_io_error_detected() is called when PCI error is detected */ > > +static int e100_io_error_detected (struct pci_dev *pdev, enum > > pci_channel_state state) > > +{ > > + struct net_device *netdev = pci_get_drvdata(pdev); > > + struct nic *nic = netdev_priv(netdev); > > + > > + mod_timer(&nic->watchdog, jiffies + 30*HZ); > > + e100_down(nic); > > + > > + /* Request a slot reset. */ > > + return PCIERR_RESULT_NEED_RESET; > > +} > > I'm not sure just "pushing" the watchdog timer to 30sec in the future is > the way to go here. What about netif_stop_queue() or so ?
Yep, OK. Pushig the timer would in fact break if the device was marked perm disabled.
--linas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |