sfc: Reject packets from the kernel TX queue during a loopback self-test
authorBen Hutchings <bhutchings@solarflare.com>
Wed, 4 Mar 2009 09:52:37 +0000 (09:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Mar 2009 01:40:21 +0000 (17:40 -0800)
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/tx.c

index da3e9ff339f5e26c36b070042d86ae5810639b99..9f97e44840b6e2387c5c3891065ca5b3bd4a1ead 100644 (file)
@@ -376,6 +376,9 @@ int efx_hard_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
        struct efx_nic *efx = netdev_priv(net_dev);
        struct efx_tx_queue *tx_queue;
 
+       if (unlikely(efx->port_inhibited))
+               return NETDEV_TX_BUSY;
+
        if (likely(skb->ip_summed == CHECKSUM_PARTIAL))
                tx_queue = &efx->tx_queue[EFX_TX_QUEUE_OFFLOAD_CSUM];
        else