diff options
author | Avinash Patil <patila@marvell.com> | 2014-05-13 19:50:13 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-05-16 14:26:53 -0400 |
commit | 8d767dcbea32ef9c1c1640ee8dde7db3e1e36f4a (patch) | |
tree | b123f81cfbb2baeda1c37a7888241807d18ede70 /drivers/net/wireless/mwifiex/sta_tx.c | |
parent | bb71d01a42491704073dfc3c1f90974890eba4d6 (diff) | |
download | op-kernel-dev-8d767dcbea32ef9c1c1640ee8dde7db3e1e36f4a.zip op-kernel-dev-8d767dcbea32ef9c1c1640ee8dde7db3e1e36f4a.tar.gz |
mwifiex: set valid tx_param during mwifiex_send_null_packet
While sending null packet from driver we are passing NULL
tx_param pointer to indicate there are no more packets in queue.
PCIe send routine assumes caller has done sanity check on
tx_param and may cause crash while dereferencing next_pkt_len
from tx_param.
Avoid this by passing tx_param structure with next_pkt_len as
zero instead of NULL pointer.
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/sta_tx.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/sta_tx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/sta_tx.c b/drivers/net/wireless/mwifiex/sta_tx.c index 1236a5d..5fce7e7 100644 --- a/drivers/net/wireless/mwifiex/sta_tx.c +++ b/drivers/net/wireless/mwifiex/sta_tx.c @@ -128,6 +128,7 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags) { struct mwifiex_adapter *adapter = priv->adapter; struct txpd *local_tx_pd; + struct mwifiex_tx_param tx_param; /* sizeof(struct txpd) + Interface specific header */ #define NULL_PACKET_HDR 64 u32 data_len = NULL_PACKET_HDR; @@ -168,8 +169,9 @@ int mwifiex_send_null_packet(struct mwifiex_private *priv, u8 flags) skb, NULL); } else { skb_push(skb, INTF_HEADER_LEN); + tx_param.next_pkt_len = 0; ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_DATA, - skb, NULL); + skb, &tx_param); } switch (ret) { case -EBUSY: |