Changeset ee7e7c93 in mainline


Ignore:
Timestamp:
2011-05-30T10:42:05Z (13 years ago)
Author:
Matej Klonfar <maklf@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3dfdcb7, dcb7d7cd
Parents:
4967c1e
Message:

Bug fixes in report description construction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhid/src/hiddescriptor.c

    r4967c1e ree7e7c93  
    220220                        }
    221221                        else {
    222                                 usage = report_item->usages[
     222                                usage = report_item->usages[
    223223                                        report_item->usages_count- 1];
    224224                        }
     
    245245
    246246                field->size = report_item->size;
    247        
     247
    248248                if(report_item->type == USB_HID_REPORT_TYPE_INPUT) {
    249                         field->offset = report_item->offset +
    250                             ((report_item->count - (i + 1)) *
    251                             report_item->size);
     249                        int offset = report_item->offset + report_item->size * i;
     250                        int field_offset = (offset/8)*8 + (offset/8 + 1) * 8 -
     251                                offset - report_item->size;
     252                        if(field_offset < 0) {
     253                                field->offset = 0;
     254                        }
     255                        else {
     256                                field->offset = field_offset;
     257                        }
    252258                }
    253259                else {
    254260                        field->offset = report_item->offset + (i * report_item->size);
    255261                }
     262
    256263
    257264                if(report->use_report_ids != 0) {
     
    259266                        report->use_report_ids = 1;
    260267                }
     268
    261269                field->item_flags = report_item->item_flags;
    262270
Note: See TracChangeset for help on using the changeset viewer.