This patch move data_sent flag update to usb.c file.
>From now all data_sent update cases only happened in specific file:
sdio.c, usb.c, pcie.c. Outside ot these files, it is only allowed
to check the value of data_ent.
Signed-off-by: Zhaoyang Liu <liuzy@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
        }
 
        if (adapter->iface_type == MWIFIEX_USB) {
-               adapter->data_sent = true;
                ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_USB_EP_DATA,
                                                   skb_aggr, NULL);
        } else {
                mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
                break;
        case -1:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                mwifiex_dbg(adapter, ERROR, "%s: host_to_card failed: %#x\n",
                            __func__, ret);
                adapter->dbg.num_tx_host_to_card_failure++;
                mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
                return 0;
        case -EINPROGRESS:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                break;
        case 0:
                mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
 
        local_tx_pd->bss_type = priv->bss_type;
 
        if (adapter->iface_type == MWIFIEX_USB) {
-               adapter->data_sent = true;
                ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_USB_EP_DATA,
                                                   skb, NULL);
        } else {
                adapter->dbg.num_tx_host_to_card_failure++;
                break;
        case -1:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                dev_kfree_skb_any(skb);
                mwifiex_dbg(adapter, ERROR,
                            "%s: host_to_card failed: ret=%d\n",
                adapter->tx_lock_flag = true;
                break;
        case -EINPROGRESS:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                adapter->tx_lock_flag = true;
                break;
        default:
 
                if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA)
                        local_tx_pd = (struct txpd *)(head_ptr + hroom);
                if (adapter->iface_type == MWIFIEX_USB) {
-                       adapter->data_sent = true;
                        ret = adapter->if_ops.host_to_card(adapter,
                                                           MWIFIEX_USB_EP_DATA,
                                                           skb, NULL);
                mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
                break;
        case -1:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                mwifiex_dbg(adapter, ERROR,
                            "mwifiex_write_data_async failed: 0x%X\n",
                            ret);
                mwifiex_write_data_complete(adapter, skb, 0, ret);
                break;
        case -EINPROGRESS:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                break;
        case 0:
                mwifiex_write_data_complete(adapter, skb, 0, ret);
        }
 
        if (adapter->iface_type == MWIFIEX_USB) {
-               adapter->data_sent = true;
                ret = adapter->if_ops.host_to_card(adapter,
                                                   MWIFIEX_USB_EP_DATA,
                                                   skb, NULL);
                mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
                break;
        case -1:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                mwifiex_dbg(adapter, ERROR,
                            "mwifiex_write_data_async failed: 0x%X\n", ret);
                adapter->dbg.num_tx_host_to_card_failure++;
                mwifiex_write_data_complete(adapter, skb, 0, ret);
                break;
        case -EINPROGRESS:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                break;
        case 0:
                mwifiex_write_data_complete(adapter, skb, 0, ret);
        if (!priv)
                goto done;
 
-       if (adapter->iface_type == MWIFIEX_USB)
-               adapter->data_sent = false;
-
        mwifiex_set_trans_start(priv->netdev);
        if (!status) {
                priv->stats.tx_packets++;
 
                mwifiex_dbg(adapter, DATA,
                            "%s: DATA\n", __func__);
                atomic_dec(&card->tx_data_urb_pending);
+               adapter->data_sent = false;
                mwifiex_write_data_complete(adapter, context->skb, 0,
                                            urb->status ? -1 : 0);
        }
 
        if (ep == card->tx_data_ep &&
            atomic_read(&card->tx_data_urb_pending) >= MWIFIEX_TX_DATA_URB) {
+               adapter->data_sent = true;
                return -EBUSY;
        }
 
                        atomic_dec(&card->tx_cmd_urb_pending);
                } else {
                        atomic_dec(&card->tx_data_urb_pending);
+                       adapter->data_sent = false;
                        if (card->tx_data_ix)
                                card->tx_data_ix--;
                        else
        } else {
                if (ep == card->tx_data_ep &&
                    atomic_read(&card->tx_data_urb_pending) ==
-                                                       MWIFIEX_TX_DATA_URB)
+                                                       MWIFIEX_TX_DATA_URB) {
+                       adapter->data_sent = true;
                        return -ENOSR;
+               }
        }
 
        return -EINPROGRESS;
 
        spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, ra_list_flags);
 
        if (adapter->iface_type == MWIFIEX_USB) {
-               adapter->data_sent = true;
                ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_USB_EP_DATA,
                                                   skb, NULL);
        } else {
                                       ra_list_flags);
                break;
        case -1:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                mwifiex_dbg(adapter, ERROR, "host_to_card failed: %#x\n", ret);
                adapter->dbg.num_tx_host_to_card_failure++;
                mwifiex_write_data_complete(adapter, skb, 0, ret);
                break;
        case -EINPROGRESS:
-               if (adapter->iface_type == MWIFIEX_USB)
-                       adapter->data_sent = false;
                break;
        case 0:
                mwifiex_write_data_complete(adapter, skb, 0, ret);