mwifiex_unmap_pci_memory(adapter, skb, PCI_DMA_FROMDEVICE);
+ /* Unmap the command as a response has been received. */
+ if (card->cmd_buf) {
+ mwifiex_unmap_pci_memory(adapter, card->cmd_buf,
+ PCI_DMA_TODEVICE);
+ card->cmd_buf = NULL;
+ }
+
pkt_len = *((__le16 *)skb->data);
rx_len = le16_to_cpu(pkt_len);
skb_trim(skb, rx_len);
struct sk_buff *skb)
{
struct pcie_service_card *card = adapter->card;
- struct sk_buff *skb_tmp;
if (skb) {
card->cmdrsp_buf = skb;
return -1;
}
- skb_tmp = card->cmd_buf;
- if (skb_tmp) {
- mwifiex_unmap_pci_memory(adapter, skb_tmp, PCI_DMA_FROMDEVICE);
- card->cmd_buf = NULL;
- }
-
return 0;
}