Changeset 61bb85d in mainline for uspace/drv/uhci-hcd/tracker.c


Ignore:
Timestamp:
2011-02-09T10:25:01Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2964aa87
Parents:
3cc5ccda
Message:

Fix: interrupt calls should use interrupt trackers
Fix: interrupt tracker should always set next step (it is NULL during te first call)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci-hcd/tracker.c

    r3cc5ccda r61bb85d  
    286286        }
    287287
     288        assert(instance->packet_size <= instance->max_packet_size);
    288289        if (instance->packet_size) {
    289290                /* we are data in, we want data from our device. if there is data */
     
    309310                /* that's all, end coomunication */
    310311                instance->next_step = tracker_call_in_and_dispose;
     312        } else {
     313                instance->next_step = tracker_interrupt_in;
    311314        }
    312315}
     
    323326        }
    324327
    325         /* we are data out, we down't want data from our device */
     328        /* we are data out, we don't want data from our device */
    326329        instance->buffer_offset += instance->packet_size;
    327330
     
    343346                /* that's all, end coomunication */
    344347                instance->next_step = tracker_call_out_and_dispose;
     348        } else {
     349                instance->next_step = tracker_interrupt_out;
    345350        }
    346351}
     
    356361                memcpy(instance->buffer + instance->buffer_offset, instance->packet,
    357362                    instance->packet_size);
    358         }
    359         instance->buffer_offset += instance->packet_size;
     363                instance->buffer_offset += instance->packet_size;
     364        }
    360365        usb_log_debug("Callback IN(%d): %d, %zu.\n", instance->transfer_type,
    361366            err, instance->buffer_offset);
Note: See TracChangeset for help on using the changeset viewer.