Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d22871db authored by Zhaoyang Liu's avatar Zhaoyang Liu Committed by Kalle Valo
Browse files

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: default avatarZhaoyang Liu <liuzy@marvell.com>
Signed-off-by: default avatarCathy Luo <cluo@marvell.com>
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 17090bee
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
		mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
		break;
	case -1:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		mwifiex_dbg(adapter, ERROR, "%s: host_to_card failed: %#x\n",
			    __func__, ret);
@@ -308,7 +308,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
		mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
		return 0;
	case -EINPROGRESS:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		break;
	case 0:
+5 −1
Original line number Diff line number Diff line
@@ -174,6 +174,7 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
	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 {
@@ -191,6 +192,7 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
		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,
@@ -206,6 +208,8 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags)
		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:
+4 −4
Original line number Diff line number Diff line
@@ -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");
		break;
	case -1:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		mwifiex_dbg(adapter, ERROR,
			    "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);
		break;
	case -EINPROGRESS:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		break;
	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");
		break;
	case -1:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		mwifiex_dbg(adapter, ERROR,
			    "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);
		break;
	case -EINPROGRESS:
		if (adapter->iface_type != MWIFIEX_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		break;
	case 0:
+2 −2
Original line number Diff line number Diff line
@@ -1356,14 +1356,14 @@ mwifiex_send_processed_packet(struct mwifiex_private *priv,
				       ra_list_flags);
		break;
	case -1:
		if (adapter->iface_type != MWIFIEX_PCIE)
		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_PCIE)
		if (adapter->iface_type == MWIFIEX_USB)
			adapter->data_sent = false;
		break;
	case 0: