From: Michael Ellerman <michael@ellerman.id.au>

The iseries_veth driver has a logic bug which means it will erroneously send
packets to LPARs for which we don't have a connection.

This usually isn't a big problem because the Hypervisor call fails gracefully
and we return, but if packets are TX'ed during the negotiation of the
connection bad things might happen.

Regardless, the right thing is to bail early if we know there's no connection.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/net/iseries_veth.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/net/iseries_veth.c~iseries_veth-dont-send-packets-to-lpars-which-arent-up drivers/net/iseries_veth.c
--- 25/drivers/net/iseries_veth.c~iseries_veth-dont-send-packets-to-lpars-which-arent-up	2005-05-12 01:20:38.000000000 -0700
+++ 25-akpm/drivers/net/iseries_veth.c	2005-05-12 01:20:38.000000000 -0700
@@ -924,7 +924,7 @@ static int veth_transmit_to_one(struct s
 
 	spin_lock_irqsave(&cnx->lock, flags);
 
-	if (! cnx->state & VETH_STATE_READY)
+	if (! (cnx->state & VETH_STATE_READY))
 		goto drop;
 
 	if ((skb->len - 14) > VETH_MAX_MTU)
_