Message ID | 20180403165154.18775-1-daniel@zonque.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 7cae35199bee1cd661926f2d68ac46d07682fc54 |
Delegated to: | Kalle Valo |
Headers | show |
On 4/3/2018 7:51 PM, Daniel Mack wrote: > 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> > --- > drivers/net/wireless/ath/wcn36xx/dxe.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c > index 6e9a3583c447..e8ad8f989ccd 100644 > --- a/drivers/net/wireless/ath/wcn36xx/dxe.c > +++ b/drivers/net/wireless/ath/wcn36xx/dxe.c > @@ -707,6 +707,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; I have the exact patch ready for submission, you got a head of me :) Acked-by: Ramon Fried <rfried@codeaurora.org>
Daniel Mack <daniel@zonque.org> wrote: > 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> 3 patches applied to ath-next branch of ath.git, thanks. 7cae35199bee wcn36xx: check for DMA mapping errors in wcn36xx_dxe_tx_frame() 271f1e65ff38 wcn36xx: don't keep reference to skb if transmission failed 2edfcf2b303c wcn36xx: don't delete invalid bss indices
diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c index 6e9a3583c447..e8ad8f989ccd 100644 --- a/drivers/net/wireless/ath/wcn36xx/dxe.c +++ b/drivers/net/wireless/ath/wcn36xx/dxe.c @@ -707,6 +707,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;
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> --- drivers/net/wireless/ath/wcn36xx/dxe.c | 5 +++++ 1 file changed, 5 insertions(+)