Re: [PATCH 4/13]: PCI Err: e100 ethernet driver recovery

From: Linas Vepstas
Date: Wed Jun 29 2005 - 11:01:51 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/