[etherlab-dev] system crash when ethernet cable disconnected

Florian Pose fp at igh-essen.com
Mon Jul 21 11:06:16 CEST 2008


On Wed, Jul 16, 2008 at 06:02:05PM +0200, Olav Zarges wrote:
> the system the ethercat master runs on crashed when I disconnect
> the ethernet cable. The dump shows that 'e1000_xmit_frame' is involed.
> 
> Looking into the code I found 'spin_unlock_irqrestore' is called directly
> while at other occurences it is enclosed in
> 
>      if (!adapter->ecdev) {
>          ...
>      }
> 
> preventing it to be called when running as an ethercat device.
> 
> Is it missing by accident? I added the lines above and it seems to work.

Yes, you're right. The spin_unlock_irqrestore() may not be called,
because its corresponding spin_lock_irqrestore() was never called. I'll
fix it and have a look, which kernel versions are affected, too.

-- 
Best regards,
Florian Pose

http://etherlab.org



More information about the etherlab-dev mailing list