mwifiex: do not set multiport flag for tx/rx single packet
authorXinming Hu <huxm@marvell.com>
Tue, 23 Feb 2016 13:16:19 +0000 (05:16 -0800)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 7 Mar 2016 12:26:41 +0000 (14:26 +0200)
multiport address flag(0x1000) should not be set during sdio cmd53,
if we have only one packet to read/write.

Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/sdio.c

index 838b260..b2c839a 100644 (file)
@@ -1355,6 +1355,9 @@ static int mwifiex_sdio_card_to_host_mp_aggr(struct mwifiex_adapter *adapter,
                                 card->mpa_rx.start_port;
                }
 
+               if (card->mpa_rx.pkt_cnt == 1)
+                       mport = adapter->ioport + port;
+
                if (mwifiex_read_data_sync(adapter, card->mpa_rx.buf,
                                           card->mpa_rx.buf_len, mport, 1))
                        goto error;
@@ -1786,6 +1789,9 @@ static int mwifiex_host_to_card_mp_aggr(struct mwifiex_adapter *adapter,
                                 card->mpa_tx.start_port;
                }
 
+               if (card->mpa_tx.pkt_cnt == 1)
+                       mport = adapter->ioport + port;
+
                ret = mwifiex_write_data_to_card(adapter, card->mpa_tx.buf,
                                                 card->mpa_tx.buf_len, mport);