iwl4965: fix 'phys_addr' may be used uninitialized
PATCH 1/1 iwl4965: fix 'phys_addr' may be used uninitialized
This should fix:
drivers/net/wireless/iwlegacy/4965-mac.c:1847:33: warning: 'phys_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]
--- drivers/net/wireless/iwlegacy/4965-mac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/iwlegacy/4965-mac.c +1 -1
@@ -1843,7 +1843,7 @@ il4965_tx_skb(struct il_priv *il, il->ops->txq_attach_buf_to_tfd (il, txq, txcmd_phys, firstlen,1 ,0 );dma_unmap_addr_set (out_meta, mapping, txcmd_phys);dma_unmap_len_set (out_meta, len, firstlen); -if (secondlen) +if (secondlen >0 ) il->ops->txq_attach_buf_to_tfd (il, txq, phys_addr, secondlen,0 ,0 );
Signature · 1 line
1.7.11.7
I still get the warning when building wireless-next on my F17 box with this patch applied...
Quoted 27 lines · Stanislaw Gruszka
This should fix:
drivers/net/wireless/iwlegacy/4965-mac.c:1847:33: warning: 'phys_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]Reported-by Fengguang Wu <[email protected]>Signed-off-by Stanislaw Gruszka <[email protected]>--- drivers/net/wireless/iwlegacy/4965-mac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/wireless/iwlegacy/4965-mac.c +1
-1@@ -1843,7 +1843,7 @@ il4965_tx_skb(struct il_priv *il, il->ops->txq_attach_buf_to_tfd (il, txq, txcmd_phys, firstlen,1 ,0 );dma_unmap_addr_set (out_meta, mapping, txcmd_phys);dma_unmap_len_set (out_meta, len, firstlen); -if (secondlen) +if (secondlen >0 ) il->ops->txq_attach_buf_to_tfd (il, txq, phys_addr, secondlen,0 ,0 );Signature · 1 line
1.7.11.7
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.
Quoted 2 lines · John W. Linville
I still get the warning when building wireless-next on my F17 box with this patch applied...
I have no warning of F17 with:
gcc-4.7.2-2.fc17.x86_64
perhaps you use i686 or kernel config is different.
This warning must be a false positive. The code looks like below:
secondlen = skb->len - hdr_len;
if (secondlen > 0) {
phys_addr =
pci_map_single(il->pci_dev, skb->data + hdr_len, secondlen,
PCI_DMA_TODEVICE);
if (unlikely(pci_dma_mapping_error(il->pci_dev, phys_addr)))
goto drop_unlock;
}
/* */
if (secondlen > 0)
il->ops->txq_attach_buf_to_tfd(il, txq, phys_addr, secondlen,
0, 0);and there are no other places where phys_addr is used.
I just realized that secondlen is u16, so there is no difference between "if (secondlen)" and "if (secondlen > 0)". So this patch can be dropped.
Stanislaw
Quoted 32 lines · Stanislaw Gruszka
Quoted 27 lines
This should fix:
drivers/net/wireless/iwlegacy/4965-mac.c:1847:33: warning: 'phys_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]Reported-by Fengguang Wu <[email protected]>Signed-off-by Stanislaw Gruszka <[email protected]>--- drivers/net/wireless/iwlegacy/4965-mac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/wireless/iwlegacy/4965-mac.c +1
-1@@ -1843,7 +1843,7 @@ il4965_tx_skb(struct il_priv *il, il->ops->txq_attach_buf_to_tfd (il, txq, txcmd_phys, firstlen,1 ,0 );dma_unmap_addr_set (out_meta, mapping, txcmd_phys);dma_unmap_len_set (out_meta, len, firstlen); -if (secondlen) +if (secondlen >0 ) il->ops->txq_attach_buf_to_tfd (il, txq, phys_addr, secondlen,0 ,0 );Signature · 1 line
1.7.11.7Signature · 2 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.