提交 b00edea3 编写于 作者: S Sergey Matyukevich 提交者: Kalle Valo

qtnfmac: fix free_xfer_buffer cleanup

Check if skb tracking arrays has been already allocated. This additional
check handles the case when init partially failed.
Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 bab5dac7
...@@ -483,7 +483,7 @@ static void free_xfer_buffers(void *data) ...@@ -483,7 +483,7 @@ static void free_xfer_buffers(void *data)
/* free rx buffers */ /* free rx buffers */
for (i = 0; i < priv->rx_bd_num; i++) { for (i = 0; i < priv->rx_bd_num; i++) {
if (priv->rx_skb[i]) { if (priv->rx_skb && priv->rx_skb[i]) {
rxbd = &priv->rx_bd_vbase[i]; rxbd = &priv->rx_bd_vbase[i];
paddr = QTN_HOST_ADDR(le32_to_cpu(rxbd->addr_h), paddr = QTN_HOST_ADDR(le32_to_cpu(rxbd->addr_h),
le32_to_cpu(rxbd->addr)); le32_to_cpu(rxbd->addr));
...@@ -496,7 +496,7 @@ static void free_xfer_buffers(void *data) ...@@ -496,7 +496,7 @@ static void free_xfer_buffers(void *data)
/* free tx buffers */ /* free tx buffers */
for (i = 0; i < priv->tx_bd_num; i++) { for (i = 0; i < priv->tx_bd_num; i++) {
if (priv->tx_skb[i]) { if (priv->tx_skb && priv->tx_skb[i]) {
dev_kfree_skb_any(priv->tx_skb[i]); dev_kfree_skb_any(priv->tx_skb[i]);
priv->tx_skb[i] = NULL; priv->tx_skb[i] = NULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册