mwifiex: Fix invalid port issue
authorGanapathi Bhat <gbhat@marvell.com>
Tue, 4 Apr 2017 04:46:28 +0000 (10:16 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 13 Apr 2017 14:05:19 +0000 (17:05 +0300)
We have to use start port, for TX/RX of single packet,
instead of current aggregating port. This will fix SDIO
CMD53(TX/RX) returning -ETIMEDOUT and halting the data path.

Fixes: 0cb52aac4d19 ("mwifiex: do not set multiport flag for tx/rx single packet")
Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/sdio.c

index 424532b81c2de5d3565467f269ec1dd7298025b6..0af1c6733c9257e64fbecd81e11fb76ec871452a 100644 (file)
@@ -1380,7 +1380,7 @@ static int mwifiex_sdio_card_to_host_mp_aggr(struct mwifiex_adapter *adapter,
                }
 
                if (card->mpa_rx.pkt_cnt == 1)
-                       mport = adapter->ioport + port;
+                       mport = adapter->ioport + card->mpa_rx.start_port;
 
                if (mwifiex_read_data_sync(adapter, card->mpa_rx.buf,
                                           card->mpa_rx.buf_len, mport, 1))
@@ -1813,7 +1813,7 @@ static int mwifiex_host_to_card_mp_aggr(struct mwifiex_adapter *adapter,
                }
 
                if (card->mpa_tx.pkt_cnt == 1)
-                       mport = adapter->ioport + port;
+                       mport = adapter->ioport + card->mpa_tx.start_port;
 
                ret = mwifiex_write_data_to_card(adapter, card->mpa_tx.buf,
                                                 card->mpa_tx.buf_len, mport);