mirror of https://github.com/ARMmbed/mbed-os.git
Pull request feedback fix: user_data_tx accepts arbitary size
parent
88398bf141
commit
0ee265110a
|
|
@ -1140,14 +1140,18 @@ void Mux::tx_noretransmit_entry_run()
|
||||||
|
|
||||||
ssize_t Mux::user_data_tx(uint8_t dlci_id, const void* buffer, size_t size)
|
ssize_t Mux::user_data_tx(uint8_t dlci_id, const void* buffer, size_t size)
|
||||||
{
|
{
|
||||||
MBED_ASSERT(size <=
|
|
||||||
(MBED_CONF_MUX_BUFFER_SIZE - (FRAME_START_READ_LEN + FRAME_HEADER_READ_LEN + FRAME_TRAILER_LEN)));
|
|
||||||
MBED_ASSERT(buffer != NULL);
|
MBED_ASSERT(buffer != NULL);
|
||||||
|
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const size_t max_payload_size = (MBED_CONF_MUX_BUFFER_SIZE -
|
||||||
|
(FRAME_START_READ_LEN + FRAME_HEADER_READ_LEN + FRAME_TRAILER_LEN));
|
||||||
|
if (size > max_payload_size) {
|
||||||
|
size = max_payload_size;
|
||||||
|
}
|
||||||
|
|
||||||
_mutex.lock();
|
_mutex.lock();
|
||||||
|
|
||||||
ssize_t write_ret;
|
ssize_t write_ret;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue