Skip to contentSkip to conversation

iwl4965: fix 'phys_addr' may be used uninitialized

PATCH In review Stanislaw Gruszka 2 participants 3 messages Feb 15, 2013 – Feb 18, 2013 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

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
index 7941eb3..d2ab1cf 100644
@@ -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
#1 lore raw

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]

---
 drivers/net/wireless/iwlegacy/4965-mac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/iwlegacy/4965-mac.c +1 -1
index 7941eb3..d2ab1cf 100644
@@ -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.
#2 lore raw
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]

---
 drivers/net/wireless/iwlegacy/4965-mac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/iwlegacy/4965-mac.c +1 -1
index 7941eb3..d2ab1cf 100644
@@ -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.