]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/macintosh/via-cuda.c
via-cuda: Initialize data_index early and increment consistently
[linux.git] / drivers / macintosh / via-cuda.c
index e3763cb4184ba0ce1a5f535d1edc39d188b6bfc0..57fb20dcb9dd7abbc651771822cde81bdab00b36 100644 (file)
@@ -446,12 +446,13 @@ cuda_start(void)
     /* assert cuda_state == idle */
     if (current_req == NULL)
        return;
+    data_index = 0;
     if (TREQ_asserted(in_8(&via[B])))
        return;                 /* a byte is coming in from the CUDA */
 
     /* set the shift register to shift out and send a byte */
     out_8(&via[ACR], in_8(&via[ACR]) | SR_OUT);
-    out_8(&via[SR], current_req->data[0]);
+    out_8(&via[SR], current_req->data[data_index++]);
     assert_TIP();
     cuda_state = sent_first_byte;
 }
@@ -524,9 +525,8 @@ cuda_interrupt(int irq, void *arg)
            negate_TIP_and_TACK();
            cuda_state = idle;
        } else {
-           out_8(&via[SR], current_req->data[1]);
+           out_8(&via[SR], current_req->data[data_index++]);
            toggle_TACK();
-           data_index = 2;
            cuda_state = sending;
        }
        break;