]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
wcn36xx: check for DMA mapping errors in wcn36xx_dxe_tx_frame()
authorDaniel Mack <daniel@zonque.org>
Tue, 3 Apr 2018 16:51:52 +0000 (18:51 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 10 Apr 2018 14:34:08 +0000 (17:34 +0300)
Bail out if the mapping fails. Even though this hasn't occured during
tests, this unlikely case should still be handled.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Acked-by: Ramon Fried <rfried@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wcn36xx/dxe.c

index 2c3b899a88fad7106f7dc57f85b436090c5072ae..405d350f870829541ff351f406341699ac4b018a 100644 (file)
@@ -705,6 +705,11 @@ int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
                                          ctl->skb->data,
                                          ctl->skb->len,
                                          DMA_TO_DEVICE);
+       if (dma_mapping_error(wcn->dev, desc->src_addr_l)) {
+               dev_err(wcn->dev, "unable to DMA map src_addr_l\n");
+               ret = -ENOMEM;
+               goto unlock;
+       }
 
        desc->dst_addr_l = ch->dxe_wq;
        desc->fr_len = ctl->skb->len;