Changeset a6567ed in mainline for uspace/drv/usbmouse/mouse.c


Ignore:
Timestamp:
2011-03-02T18:54:49Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
820aba32
Parents:
d70e0a3c
Message:

Correct endpoint initialization in mouse driver

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbmouse/mouse.c

    rd70e0a3c ra6567ed  
    4646        assert(mouse);
    4747
     48        size_t buffer_size = mouse->poll_pipe.max_packet_size;
     49
     50        if (buffer_size < 4) {
     51                usb_log_error("Weird mouse, results will be skewed.\n");
     52                buffer_size = 4;
     53        }
     54
     55        uint8_t *buffer = malloc(buffer_size);
     56        if (buffer == NULL) {
     57                usb_log_error("Out of memory, poll fibril aborted.\n");
     58                return ENOMEM;
     59        }
     60
    4861        while (true) {
    4962                async_usleep(10 * 1000);
    5063
    51                 uint8_t buffer[8];
    5264                size_t actual_size;
    5365
     
    5567                usb_endpoint_pipe_start_session(&mouse->poll_pipe);
    5668
    57                 usb_endpoint_pipe_read(&mouse->poll_pipe, buffer, 8, &actual_size);
     69                usb_endpoint_pipe_read(&mouse->poll_pipe,
     70                    buffer, buffer_size, &actual_size);
    5871
    5972                usb_endpoint_pipe_end_session(&mouse->poll_pipe);
Note: See TracChangeset for help on using the changeset viewer.