masayuki2009 commented on a change in pull request #2175:
URL: https://github.com/apache/incubator-nuttx/pull/2175#discussion_r514985658



##########
File path: drivers/wireless/gs2200m.c
##########
@@ -3071,6 +3086,33 @@ static void gs2200m_irq_worker(FAR void *arg)
 
   t = gs2200m_recv_pkt(dev, pkt_dat);
 
+  if (true == dev->disassociate_flag)
+    {
+      /* Disassociate recovery */
+
+      wlwarn("=== receive DISASSOCIATE\n");
+      dev->valid_cid_bits = 0;
+
+      do
+        {
+          while (gs2200m_recv_pkt(dev, pkt_dat) != TYPE_TIMEOUT)
+            {
+              /* release & initialize pkt_dat before retry */
+
+              _release_pkt_dat(dev, pkt_dat);
+              memset(pkt_dat, 0, sizeof(pkt_dat));
+
+              usleep(100 * 1000);
+            }

Review comment:
       please use nxsig_usleep() instead of usleep() inside the kernel space.
   

##########
File path: drivers/wireless/gs2200m.c
##########
@@ -3071,6 +3086,34 @@ static void gs2200m_irq_worker(FAR void *arg)
 
   t = gs2200m_recv_pkt(dev, pkt_dat);
 
+  if (true == gs2200m_disassociate_flag)
+    {
+      /* Disassociate recovery */
+
+      wlwarn("=== receive DISASSOCIATE\n");
+      dev->valid_cid_bits = 0;
+
+      gs2200m_disassociate(dev);
+      do
+        {
+          while (gs2200m_recv_pkt(dev, pkt_dat) != TYPE_TIMEOUT)
+            {

Review comment:
       OK, please add a comment such as "Discard incoming packets untile 
timeout happens"
   In this case, we don't need to pass pkt_dat, so just call like 
```gs2200m_recv_pkt(dev, NULL)```
   Also, we don't need to call ```_releae_pkt_dat(dev, ), memset(pkt_dat, 
...)```
   
   

##########
File path: drivers/wireless/gs2200m.c
##########
@@ -3071,6 +3086,33 @@ static void gs2200m_irq_worker(FAR void *arg)
 
   t = gs2200m_recv_pkt(dev, pkt_dat);
 
+  if (true == dev->disassociate_flag)
+    {
+      /* Disassociate recovery */
+
+      wlwarn("=== receive DISASSOCIATE\n");
+      dev->valid_cid_bits = 0;
+
+      do
+        {
+          while (gs2200m_recv_pkt(dev, pkt_dat) != TYPE_TIMEOUT)
+            {
+              /* release & initialize pkt_dat before retry */
+
+              _release_pkt_dat(dev, pkt_dat);
+              memset(pkt_dat, 0, sizeof(pkt_dat));
+
+              usleep(100 * 1000);
+            }

Review comment:
       Thanks.
   

##########
File path: drivers/wireless/gs2200m.c
##########
@@ -3071,6 +3086,34 @@ static void gs2200m_irq_worker(FAR void *arg)
 
   t = gs2200m_recv_pkt(dev, pkt_dat);
 
+  if (true == gs2200m_disassociate_flag)
+    {
+      /* Disassociate recovery */
+
+      wlwarn("=== receive DISASSOCIATE\n");
+      dev->valid_cid_bits = 0;
+
+      gs2200m_disassociate(dev);
+      do
+        {
+          while (gs2200m_recv_pkt(dev, pkt_dat) != TYPE_TIMEOUT)
+            {

Review comment:
       OK, I understand.
   

##########
File path: drivers/wireless/gs2200m.c
##########
@@ -3071,6 +3086,33 @@ static void gs2200m_irq_worker(FAR void *arg)
 
   t = gs2200m_recv_pkt(dev, pkt_dat);
 
+  if (true == dev->disassociate_flag)
+    {
+      /* Disassociate recovery */
+
+      wlwarn("=== receive DISASSOCIATE\n");
+      dev->valid_cid_bits = 0;
+
+      do
+        {
+          while (gs2200m_recv_pkt(dev, pkt_dat) != TYPE_TIMEOUT)
+            {
+              /* release & initialize pkt_dat before retry */
+
+              _release_pkt_dat(dev, pkt_dat);
+              memset(pkt_dat, 0, sizeof(pkt_dat));
+
+              usleep(100 * 1000);
+            }

Review comment:
       Thanks.
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to