Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/remote_usbhc.c

    r5842493 r3937bda  
    540540                .endpoint = DEV_IPC_GET_ARG2(*call)
    541541        };
     542        size_t data_buffer_len = DEV_IPC_GET_ARG3(*call);
    542543
    543544        int rc;
     
    546547        void *data_buffer = NULL;
    547548        size_t setup_packet_len = 0;
    548         size_t data_buffer_len = 0;
    549549
    550550        rc = async_data_write_accept(&setup_packet, false,
     
    554554                return;
    555555        }
    556         rc = async_data_write_accept(&data_buffer, false,
    557             1, USB_MAX_PAYLOAD_SIZE, 0, &data_buffer_len);
    558         if (rc != EOK) {
    559                 async_answer_0(callid, rc);
    560                 free(setup_packet);
    561                 return;
     556
     557        if (data_buffer_len > 0) {
     558                rc = async_data_write_accept(&data_buffer, false,
     559                    1, USB_MAX_PAYLOAD_SIZE, 0, &data_buffer_len);
     560                if (rc != EOK) {
     561                        async_answer_0(callid, rc);
     562                        free(setup_packet);
     563                        return;
     564                }
    562565        }
    563566
     
    596599        }
    597600
    598         size_t data_len = DEV_IPC_GET_ARG3(*call);
    599601        usb_target_t target = {
    600602                .address = DEV_IPC_GET_ARG1(*call),
     
    606608        void *setup_packet = NULL;
    607609        size_t setup_packet_len = 0;
     610        size_t data_len = 0;
    608611
    609612        rc = async_data_write_accept(&setup_packet, false,
Note: See TracChangeset for help on using the changeset viewer.