]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/sfc/rx.c
sfc: Cleanup RX queue information
[linux-2.6-omap-h63xx.git] / drivers / net / sfc / rx.c
index fa1a62aacbaee5c88a0c23e4ad0fa0902de24562..7d2dc20d0ca365e71d4c1f080b8c2b08212851e5 100644 (file)
@@ -789,23 +789,14 @@ int efx_probe_rx_queue(struct efx_rx_queue *rx_queue)
        /* Allocate RX buffers */
        rxq_size = (efx->type->rxd_ring_mask + 1) * sizeof(*rx_queue->buffer);
        rx_queue->buffer = kzalloc(rxq_size, GFP_KERNEL);
-       if (!rx_queue->buffer) {
-               rc = -ENOMEM;
-               goto fail1;
-       }
+       if (!rx_queue->buffer)
+               return -ENOMEM;
 
        rc = falcon_probe_rx(rx_queue);
-       if (rc)
-               goto fail2;
-
-       return 0;
-
- fail2:
-       kfree(rx_queue->buffer);
-       rx_queue->buffer = NULL;
- fail1:
-       rx_queue->used = 0;
-
+       if (rc) {
+               kfree(rx_queue->buffer);
+               rx_queue->buffer = NULL;
+       }
        return rc;
 }
 
@@ -872,7 +863,6 @@ void efx_remove_rx_queue(struct efx_rx_queue *rx_queue)
 
        kfree(rx_queue->buffer);
        rx_queue->buffer = NULL;
-       rx_queue->used = 0;
 }
 
 void efx_flush_lro(struct efx_channel *channel)