Merged in merlin17/nuttx/ieee802154 (pull request #351)

wireless/ieee802154: Removes msdu_length from meta-data since it is intrinsically in the IOB

Approved-by: Gregory Nutt <gnutt@nuttx.org>
This commit is contained in:
Anthony Merlino 2017-05-06 11:53:15 +00:00 committed by Gregory Nutt
commit 88fb514b42
4 changed files with 4 additions and 12 deletions

View File

@ -78,6 +78,7 @@ struct mac802154dev_txframe_s
{
struct ieee802154_frame_meta_s meta;
FAR uint8_t *payload;
uint16_t length;
};
#endif /* CONFIG_WIRELESS_IEEE802154 */

View File

@ -585,15 +585,6 @@ struct ieee802154_frame_meta_s
uint8_t msdu_handle; /* Handle assoc. with MSDU */
/* Number of bytes contained in the MAC Service Data Unit (MSDU)
* to be transmitted by the MAC sublayer entity
* Note: This could be a uint8_t but if anyone ever wants to use
* non-standard frame lengths, they may want a length larger than
* a uint8_t.
*/
uint16_t msdu_length;
struct
{
uint8_t ack_tx : 1; /* Acknowledge TX? */

View File

@ -1078,7 +1078,7 @@ int mac802154_req_data(MACHANDLE mac,
* sublayer will set the Frame Version to one. [1] pg. 118.
*/
if (meta->msdu_length > IEEE802154_MAX_SAFE_MAC_PAYLOAD_SIZE)
if ((frame->io_len - frame->io_offset) > IEEE802154_MAX_SAFE_MAC_PAYLOAD_SIZE)
{
*frame_ctrl |= IEEE802154_FRAMECTRL_VERSION;
}

View File

@ -449,9 +449,9 @@ static ssize_t mac802154dev_write(FAR struct file *filep,
iob->io_offset = ret;
iob->io_len = iob->io_offset;
memcpy(&iob->io_data[iob->io_offset], tx->payload, tx->meta.msdu_length);
memcpy(&iob->io_data[iob->io_offset], tx->payload, tx->length);
iob->io_len += tx->meta.msdu_length;
iob->io_len += tx->length;
/* If this is a blocking operation, we need to setup a wait struct so we
* can unblock when the packet transmission has finished. If this is a