struct usb_tx_data_port *port = NULL;
        u8 *data = (u8 *)skb->data;
        struct urb *tx_urb;
-       int idx, ret;
+       int idx, ret = -EINPROGRESS;
 
        if (adapter->is_suspended) {
                mwifiex_dbg(adapter, ERROR,
                                if (atomic_read(&port->tx_data_urb_pending)
                                    >= MWIFIEX_TX_DATA_URB) {
                                        port->block_status = true;
-                                       ret = -EBUSY;
-                                       goto done;
+                                       adapter->data_sent =
+                                               mwifiex_usb_data_sent(adapter);
+                                       return -EBUSY;
                                }
                                if (port->tx_data_ix >= MWIFIEX_TX_DATA_URB)
                                        port->tx_data_ix = 0;
                                        MWIFIEX_TX_DATA_URB) {
                port->block_status = true;
                adapter->data_sent = mwifiex_usb_data_sent(adapter);
+               ret = -ENOSR;
        }
 
        if (usb_submit_urb(tx_urb, GFP_ATOMIC)) {
                        else
                                port->tx_data_ix = MWIFIEX_TX_DATA_URB;
                }
-
-               return -1;
-       } else {
-               if (ep != card->tx_cmd_ep &&
-                   atomic_read(&port->tx_data_urb_pending) ==
-                                                       MWIFIEX_TX_DATA_URB) {
-                       return -ENOSR;
-               }
+               ret = -1;
        }
 
-       return -EINPROGRESS;
-
-done:
-       if (ep != card->tx_cmd_ep)
-               adapter->data_sent = mwifiex_usb_data_sent(adapter);
-
        return ret;
 }