On Thu, 2005-01-20 at 08:05, David S. Miller wrote:
> So I'm going to check this in and push upstream.  Let me know
> if folks find any other errors.

Hi Dave
Sorry to be the one with bad news.
I am in favour of this idea, but there are still issues that
need to be sorted out.

> ===== drivers/net/sungem.c 1.72 vs edited =====
> --- 1.72/drivers/net/sungem.c 2004-11-05 15:56:15 -08:00
> +++ edited/drivers/net/sungem.c       2005-01-19 22:29:14 -08:00

> @@ -932,12 +932,12 @@
>              readl(gp->regs + MAC_RXCFG));
>  
>       spin_lock_irq(&gp->lock);
> -     spin_lock(&gp->tx_lock);
> +     spin_lock(&dev->xmit_lock);
>  
>       gp->reset_task_pending = 2;
>       schedule_work(&gp->reset_task);
>  
> -     spin_unlock(&gp->tx_lock);
> +     spin_unlock(&dev->xmit_lock);
>       spin_unlock_irq(&gp->lock);
>  }
>  

->tx_timeout() can't take dev->xmit_lock, since dev_watchdog
already has it held.

A lot more serious is the fact that ->tx_timeout() and
->hard_start_xmit() are no longer allowed to do this:

  spin_lock_irq()
  ...
  spin_unlock_irq()

since that would leave us with irq's enabled while still
holding the xmit_lock.
This would have to be fixed for non-LLTX drivers as well.

-Tommy


_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to