You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/05/15 12:49:13 UTC

[incubator-nuttx] branch master updated: drivers: wireless: Apply max payload size to gs2200m.c

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 60b404e  drivers: wireless: Apply max payload size to gs2200m.c
60b404e is described below

commit 60b404e076408af7ab848bd7f650c1df9491eb2a
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Thu May 14 21:34:28 2020 +0900

    drivers: wireless: Apply max payload size to gs2200m.c
    
    Also, remove unnecessary initialization for tx packet.
    
    Signed-off-by: Masayuki Ishikawa <Ma...@jp.sony.com>
---
 drivers/wireless/gs2200m.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/wireless/gs2200m.c b/drivers/wireless/gs2200m.c
index 1329854..1ca69fb 100644
--- a/drivers/wireless/gs2200m.c
+++ b/drivers/wireless/gs2200m.c
@@ -84,7 +84,10 @@
 #define SPI_MAXFREQ  CONFIG_WL_GS2200M_SPI_FREQUENCY
 #define NRESPMSG     (16 + 2)
 
+#define BULK_CMD_HDR_SIZE_WITH_GUARD 36
+
 #define MAX_PKT_LEN  1500
+#define MAX_PAYLOAD  (MAX_PKT_LEN - BULK_CMD_HDR_SIZE_WITH_GUARD)
 #define MAX_NOTIF_Q  16
 
 #define WR_REQ       0x01
@@ -1853,6 +1856,11 @@ static enum pkt_type_e gs2200m_send_bulk(FAR struct gs2200m_dev_s *dev,
 
   memset(cmd, 0, sizeof(cmd));
 
+  if (MAX_PAYLOAD <= msg->len)
+    {
+      msg->len = MAX_PAYLOAD;
+    }
+
   /* Convert the data length to 4 ascii char */
 
   _to_ascii_char(msg->len, digits);
@@ -1883,7 +1891,6 @@ static enum pkt_type_e gs2200m_send_bulk(FAR struct gs2200m_dev_s *dev,
     }
 
   bulk_hdr_size = strlen(cmd);
-  memset(dev->tx_buff, 0, sizeof(dev->tx_buff));
   memcpy(dev->tx_buff, cmd, bulk_hdr_size);
   memcpy(dev->tx_buff + bulk_hdr_size, msg->buf, msg->len);