Staging: et131x: Clean up the tx ring init
authorAlan Cox <alan@linux.intel.com>
Tue, 6 Oct 2009 14:49:36 +0000 (15:49 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Dec 2009 20:23:07 +0000 (12:23 -0800)
Keep this small change separate for bisectability

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/et131x/et1310_tx.c

index 5fe72ba652f8affbcf545d3b6f9a78228c088d9a..e9f30b5a35648fdab2d7348c5ad09122bad56eed 100644 (file)
@@ -282,23 +282,19 @@ void et131x_init_send(struct et131x_adapter *adapter)
 
        tx_ring->TCBReadyQueueHead = tcb;
 
-       /* Go through and set up each TCB */
-       for (ct = 0; ct < NUM_TCB; ct++) {
-               memset(tcb, 0, sizeof(struct tcb));
+       memset(tcb, 0, sizeof(struct tcb) * NUM_TCB);
 
+       /* Go through and set up each TCB */
+       for (ct = 0; ct++ < NUM_TCB; tcb++) {
                /* Set the link pointer in HW TCB to the next TCB in the
                 * chain.  If this is the last TCB in the chain, also set the
                 * tail pointer.
                 */
-               if (ct < NUM_TCB - 1)
-                       tcb->Next = tcb + 1;
-               else {
-                       tx_ring->TCBReadyQueueTail = tcb;
-                       tcb->Next = NULL;
-               }
+               tcb->Next = tcb + 1;
 
-               tcb++;
-       }
+       tcb--;
+       tx_ring->TCBReadyQueueTail = tcb;
+       tcb->Next = NULL;
        /* Curr send queue should now be empty */
        tx_ring->CurrSendHead = NULL;
        tx_ring->CurrSendTail = NULL;