aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-05-12 03:47:27 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-05-15 18:08:05 -0400
commitf27eff1ffd65236b8e421188f76ad1b0b94e06eb (patch)
tree46184998b6bfbf24d083cbf5942ed1b10fe775af /drivers
parent88d7bd8cb9eb8d64bf7997600b0d64f7834047c5 (diff)
[PATCH] iseries_veth: Don't send packets to LPARs which aren't up
Hi Andrew, Jeff, 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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/iseries_veth.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index 855f8b2cf13b..7d0ef2969b4e 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -924,7 +924,7 @@ static int veth_transmit_to_one(struct sk_buff *skb, HvLpIndex rlp,
924 924
925 spin_lock_irqsave(&cnx->lock, flags); 925 spin_lock_irqsave(&cnx->lock, flags);
926 926
927 if (! cnx->state & VETH_STATE_READY) 927 if (! (cnx->state & VETH_STATE_READY))
928 goto drop; 928 goto drop;
929 929
930 if ((skb->len - 14) > VETH_MAX_MTU) 930 if ((skb->len - 14) > VETH_MAX_MTU)