[ion] Fix error check in the USB stack

The return type of the function receiveSomeData needs to be wider so the
-1 error value could fit.

Fixes #1335
This commit is contained in:
Neven Sajko
2020-02-22 11:05:38 +00:00
committed by LeaNumworks
parent bdb29b9bf9
commit f74ed8ecd7
2 changed files with 2 additions and 2 deletions

View File

@@ -259,7 +259,7 @@ void Endpoint0::clearForOutTransactions(uint16_t wLength) {
setOutNAK(false); setOutNAK(false);
} }
uint16_t Endpoint0::receiveSomeData() { int Endpoint0::receiveSomeData() {
// If it is the first chunk of data to be received, m_transferBufferLength is 0. // If it is the first chunk of data to be received, m_transferBufferLength is 0.
uint16_t packetSize = MIN(k_maxPacketSize, m_request.wLength() - m_transferBufferLength); uint16_t packetSize = MIN(k_maxPacketSize, m_request.wLength() - m_transferBufferLength);
uint16_t sizeOfPacketRead = readPacket(m_largeBuffer + m_transferBufferLength, packetSize); uint16_t sizeOfPacketRead = readPacket(m_largeBuffer + m_transferBufferLength, packetSize);

View File

@@ -57,7 +57,7 @@ public:
void clearForOutTransactions(uint16_t wLength); void clearForOutTransactions(uint16_t wLength);
private: private:
uint16_t receiveSomeData(); int receiveSomeData();
uint16_t readPacket(void * buffer, uint16_t length); uint16_t readPacket(void * buffer, uint16_t length);
uint16_t writePacket(const void * buffer, uint16_t length); uint16_t writePacket(const void * buffer, uint16_t length);