mwifiex: fix tx data_sent issue for usb interface
This patch fix missing tx data_sent flag update for usb interface. Except USB interface, data_sent flag has been updated in specific file such as sdio.c and pcie.c. So only USB interface type need check when TX data completed. 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>
This commit is contained in:
parent
17090beec2
commit
d22871db01
|
@ -300,7 +300,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
|
||||||
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
mwifiex_dbg(adapter, ERROR, "%s: host_to_card failed: %#x\n",
|
mwifiex_dbg(adapter, ERROR, "%s: host_to_card failed: %#x\n",
|
||||||
__func__, ret);
|
__func__, ret);
|
||||||
|
@ -308,7 +308,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
|
||||||
mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
|
mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
|
||||||
return 0;
|
return 0;
|
||||||
case -EINPROGRESS:
|
case -EINPROGRESS:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -174,6 +174,7 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
|
||||||
local_tx_pd->bss_type = priv->bss_type;
|
local_tx_pd->bss_type = priv->bss_type;
|
||||||
|
|
||||||
if (adapter->iface_type == MWIFIEX_USB) {
|
if (adapter->iface_type == MWIFIEX_USB) {
|
||||||
|
adapter->data_sent = true;
|
||||||
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_USB_EP_DATA,
|
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_USB_EP_DATA,
|
||||||
skb, NULL);
|
skb, NULL);
|
||||||
} else {
|
} else {
|
||||||
|
@ -191,7 +192,8 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
|
||||||
adapter->dbg.num_tx_host_to_card_failure++;
|
adapter->dbg.num_tx_host_to_card_failure++;
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
adapter->data_sent = false;
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
|
adapter->data_sent = false;
|
||||||
dev_kfree_skb_any(skb);
|
dev_kfree_skb_any(skb);
|
||||||
mwifiex_dbg(adapter, ERROR,
|
mwifiex_dbg(adapter, ERROR,
|
||||||
"%s: host_to_card failed: ret=%d\n",
|
"%s: host_to_card failed: ret=%d\n",
|
||||||
|
@ -206,6 +208,8 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
|
||||||
adapter->tx_lock_flag = true;
|
adapter->tx_lock_flag = true;
|
||||||
break;
|
break;
|
||||||
case -EINPROGRESS:
|
case -EINPROGRESS:
|
||||||
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
|
adapter->data_sent = false;
|
||||||
adapter->tx_lock_flag = true;
|
adapter->tx_lock_flag = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -142,7 +142,7 @@ int mwifiex_process_tx(struct mwifiex_private *priv, struct sk_buff *skb,
|
||||||
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
mwifiex_dbg(adapter, ERROR,
|
mwifiex_dbg(adapter, ERROR,
|
||||||
"mwifiex_write_data_async failed: 0x%X\n",
|
"mwifiex_write_data_async failed: 0x%X\n",
|
||||||
|
@ -151,7 +151,7 @@ int mwifiex_process_tx(struct mwifiex_private *priv, struct sk_buff *skb,
|
||||||
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
||||||
break;
|
break;
|
||||||
case -EINPROGRESS:
|
case -EINPROGRESS:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -222,7 +222,7 @@ static int mwifiex_host_to_card(struct mwifiex_adapter *adapter,
|
||||||
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
mwifiex_dbg(adapter, ERROR,
|
mwifiex_dbg(adapter, ERROR,
|
||||||
"mwifiex_write_data_async failed: 0x%X\n", ret);
|
"mwifiex_write_data_async failed: 0x%X\n", ret);
|
||||||
|
@ -230,7 +230,7 @@ static int mwifiex_host_to_card(struct mwifiex_adapter *adapter,
|
||||||
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
||||||
break;
|
break;
|
||||||
case -EINPROGRESS:
|
case -EINPROGRESS:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -1356,14 +1356,14 @@ mwifiex_send_processed_packet(struct mwifiex_private *priv,
|
||||||
ra_list_flags);
|
ra_list_flags);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
mwifiex_dbg(adapter, ERROR, "host_to_card failed: %#x\n", ret);
|
mwifiex_dbg(adapter, ERROR, "host_to_card failed: %#x\n", ret);
|
||||||
adapter->dbg.num_tx_host_to_card_failure++;
|
adapter->dbg.num_tx_host_to_card_failure++;
|
||||||
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
mwifiex_write_data_complete(adapter, skb, 0, ret);
|
||||||
break;
|
break;
|
||||||
case -EINPROGRESS:
|
case -EINPROGRESS:
|
||||||
if (adapter->iface_type != MWIFIEX_PCIE)
|
if (adapter->iface_type == MWIFIEX_USB)
|
||||||
adapter->data_sent = false;
|
adapter->data_sent = false;
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
|
Loading…
Reference in New Issue