* [PATCH 0/5] qlge:Fix sparse warnings.
@ 2009-01-05 22:26 Ron Mercer
2009-01-05 22:27 ` [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c Ron Mercer
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:26 UTC (permalink / raw)
To: davem; +Cc: "netdev, "linux-driver, "ron.mercer
Dave,
The attached patches fix sparse warnings as requested by Christoph
Hellwig.
I will get rid of the volatile usage per your request in my next series.
Thanks,
Ron
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
@ 2009-01-05 22:27 ` Ron Mercer
2009-01-06 2:17 ` David Miller
2009-01-05 22:27 ` [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags Ron Mercer
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:27 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-driver, ron.mercer
drivers/net/qlge/qlge_ethtool.c:59:23: warning: cast to restricted type
drivers/net/qlge/qlge_ethtool.c:59:21: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_ethtool.c:59:21: expected restricted unsigned short [usertype] irq_delay
drivers/net/qlge/qlge_ethtool.c:59:21: got unsigned short [unsigned] [usertype] <noident>
drivers/net/qlge/qlge_ethtool.c:61:8: warning: cast to restricted type
drivers/net/qlge/qlge_ethtool.c:60:21: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_ethtool.c:60:21: expected restricted unsigned short [usertype] pkt_delay
drivers/net/qlge/qlge_ethtool.c:60:21: got unsigned short [unsigned] [usertype] <noident>
drivers/net/qlge/qlge_ethtool.c:82:23: warning: cast to restricted type
drivers/net/qlge/qlge_ethtool.c:82:21: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_ethtool.c:82:21: expected restricted unsigned short [usertype] irq_delay
drivers/net/qlge/qlge_ethtool.c:82:21: got unsigned short [unsigned] [usertype] <noident>
drivers/net/qlge/qlge_ethtool.c:84:8: warning: cast to restricted type
drivers/net/qlge/qlge_ethtool.c:83:21: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_ethtool.c:83:21: expected restricted unsigned short [usertype] pkt_delay
drivers/net/qlge/qlge_ethtool.c:83:21: got unsigned short [unsigned] [usertype] <noident>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_ethtool.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c
index eefb81b..9d922e2 100644
--- a/drivers/net/qlge/qlge_ethtool.c
+++ b/drivers/net/qlge/qlge_ethtool.c
@@ -56,9 +56,9 @@ static int ql_update_ring_coalescing(struct ql_adapter *qdev)
for (i = 1; i < qdev->rss_ring_first_cq_id; i++, rx_ring++) {
rx_ring = &qdev->rx_ring[i];
cqicb = (struct cqicb *)rx_ring;
- cqicb->irq_delay = le16_to_cpu(qdev->tx_coalesce_usecs);
+ cqicb->irq_delay = cpu_to_le16(qdev->tx_coalesce_usecs);
cqicb->pkt_delay =
- le16_to_cpu(qdev->tx_max_coalesced_frames);
+ cpu_to_le16(qdev->tx_max_coalesced_frames);
cqicb->flags = FLAGS_LI;
status = ql_write_cfg(qdev, cqicb, sizeof(cqicb),
CFG_LCQ, rx_ring->cq_id);
@@ -79,9 +79,9 @@ static int ql_update_ring_coalescing(struct ql_adapter *qdev)
i++) {
rx_ring = &qdev->rx_ring[i];
cqicb = (struct cqicb *)rx_ring;
- cqicb->irq_delay = le16_to_cpu(qdev->rx_coalesce_usecs);
+ cqicb->irq_delay = cpu_to_le16(qdev->rx_coalesce_usecs);
cqicb->pkt_delay =
- le16_to_cpu(qdev->rx_max_coalesced_frames);
+ cpu_to_le16(qdev->rx_max_coalesced_frames);
cqicb->flags = FLAGS_LI;
status = ql_write_cfg(qdev, cqicb, sizeof(cqicb),
CFG_LCQ, rx_ring->cq_id);
--
1.6.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags.
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
2009-01-05 22:27 ` [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c Ron Mercer
@ 2009-01-05 22:27 ` Ron Mercer
2009-01-06 2:18 ` David Miller
2009-01-05 22:27 ` [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup() Ron Mercer
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:27 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-driver, ron.mercer
Changed flags element from __le32 to 3 reserved bytes and one byte of
flags. Changed flags bit definitions to reflect byte width instead of
__le32 width.
Warnings:
drivers/net/qlge/qlge_main.c:1206:16: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1207:16: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1233:17: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1276:17: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1349:19: warning: restricted degrades to integer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 9 +++++----
drivers/net/qlge/qlge_dbg.c | 13 +++++--------
2 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 97321bb..71cc487 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -979,10 +979,11 @@ struct ib_mac_iocb_rsp {
__le16 reserved1;
__le32 reserved2[6];
- __le32 flags4;
-#define IB_MAC_IOCB_RSP_HV 0x20000000 /* */
-#define IB_MAC_IOCB_RSP_HS 0x40000000 /* */
-#define IB_MAC_IOCB_RSP_HL 0x80000000 /* */
+ u8 reserved3[3];
+ u8 flags4;
+#define IB_MAC_IOCB_RSP_HV 0x20
+#define IB_MAC_IOCB_RSP_HS 0x40
+#define IB_MAC_IOCB_RSP_HL 0x80
__le32 hdr_len; /* */
__le32 hdr_addr_lo; /* */
__le32 hdr_addr_hi; /* */
diff --git a/drivers/net/qlge/qlge_dbg.c b/drivers/net/qlge/qlge_dbg.c
index 47df304..3f5e02d 100644
--- a/drivers/net/qlge/qlge_dbg.c
+++ b/drivers/net/qlge/qlge_dbg.c
@@ -821,14 +821,11 @@ void ql_dump_ib_mac_rsp(struct ib_mac_iocb_rsp *ib_mac_rsp)
le16_to_cpu(ib_mac_rsp->vlan_id));
printk(KERN_ERR PFX "flags4 = %s%s%s.\n",
- le32_to_cpu(ib_mac_rsp->
- flags4) & IB_MAC_IOCB_RSP_HV ? "HV " : "",
- le32_to_cpu(ib_mac_rsp->
- flags4) & IB_MAC_IOCB_RSP_HS ? "HS " : "",
- le32_to_cpu(ib_mac_rsp->
- flags4) & IB_MAC_IOCB_RSP_HL ? "HL " : "");
-
- if (le32_to_cpu(ib_mac_rsp->flags4) & IB_MAC_IOCB_RSP_HV) {
+ ib_mac_rsp->flags4 & IB_MAC_IOCB_RSP_HV ? "HV " : "",
+ ib_mac_rsp->flags4 & IB_MAC_IOCB_RSP_HS ? "HS " : "",
+ ib_mac_rsp->flags4 & IB_MAC_IOCB_RSP_HL ? "HL " : "");
+
+ if (ib_mac_rsp->flags4 & IB_MAC_IOCB_RSP_HV) {
printk(KERN_ERR PFX "hdr length = %d.\n",
le32_to_cpu(ib_mac_rsp->hdr_len));
printk(KERN_ERR PFX "hdr addr_hi = 0x%x.\n",
--
1.6.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup().
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
2009-01-05 22:27 ` [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c Ron Mercer
2009-01-05 22:27 ` [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags Ron Mercer
@ 2009-01-05 22:27 ` Ron Mercer
2009-01-06 2:18 ` David Miller
2009-01-05 22:27 ` [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues Ron Mercer
2009-01-05 22:27 ` [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes Ron Mercer
4 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:27 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-driver, ron.mercer
Changed u16 to __sum16 usage.
Warnings:
drivers/net/qlge/qlge_main.c:1897:9: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:1897:9: expected unsigned short [usertype] *check
drivers/net/qlge/qlge_main.c:1897:9: got restricted unsigned short *<noident>
drivers/net/qlge/qlge_main.c:1903:9: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:1903:9: expected unsigned short [usertype] *check
drivers/net/qlge/qlge_main.c:1903:9: got restricted unsigned short *<noident>
drivers/net/qlge/qlge_main.c:1909:9: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:1909:9: expected unsigned short [unsigned] [short] [usertype] <noident>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 837be72..d7894aa 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -1884,7 +1884,7 @@ static void ql_hw_csum_setup(struct sk_buff *skb,
{
int len;
struct iphdr *iph = ip_hdr(skb);
- u16 *check;
+ __sum16 *check;
mac_iocb_ptr->opcode = OPCODE_OB_MAC_TSO_IOCB;
mac_iocb_ptr->frame_len = cpu_to_le32((u32) skb->len);
mac_iocb_ptr->net_trans_offset =
--
1.6.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues.
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
` (2 preceding siblings ...)
2009-01-05 22:27 ` [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup() Ron Mercer
@ 2009-01-05 22:27 ` Ron Mercer
2009-01-06 2:19 ` David Miller
2009-01-05 22:27 ` [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes Ron Mercer
4 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:27 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-driver, ron.mercer
Warnings:
drivers/net/qlge/qlge_main.c:909:17: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:909:17: expected unsigned int [unsigned] [usertype] addr_lo
drivers/net/qlge/qlge_main.c:909:17: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:911:17: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:911:17: expected unsigned int [unsigned] [usertype] addr_hi
drivers/net/qlge/qlge_main.c:911:17: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:974:17: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:974:17: expected unsigned int [unsigned] [usertype] addr_lo
drivers/net/qlge/qlge_main.c:974:17: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:975:17: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:975:17: expected unsigned int [unsigned] [usertype] addr_hi
drivers/net/qlge/qlge_main.c:975:17: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:2132:16: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:2132:16: expected unsigned int [unsigned] [usertype] addr_lo
drivers/net/qlge/qlge_main.c:2132:16: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:2133:16: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:2133:16: expected unsigned int [unsigned] [usertype] addr_hi
drivers/net/qlge/qlge_main.c:2133:16: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:2212:15: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:2212:15: expected unsigned int [unsigned] [usertype] addr_lo
drivers/net/qlge/qlge_main.c:2212:15: got restricted unsigned int [usertype] <noident>
drivers/net/qlge/qlge_main.c:2214:15: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:2214:15: expected unsigned int [unsigned] [usertype] addr_hi
drivers/net/qlge/qlge_main.c:2214:15: got restricted unsigned int [usertype] <noident>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 11 +-------
drivers/net/qlge/qlge_main.c | 55 ++++++++++-------------------------------
2 files changed, 15 insertions(+), 51 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 71cc487..76ef2bc 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -818,15 +818,6 @@ struct tx_doorbell_context {
};
/* DATA STRUCTURES SHARED WITH HARDWARE. */
-
-struct bq_element {
- u32 addr_lo;
-#define BQ_END 0x00000001
-#define BQ_CONT 0x00000002
-#define BQ_MASK 0x00000003
- u32 addr_hi;
-} __attribute((packed));
-
struct tx_buf_desc {
__le64 addr;
__le32 len;
@@ -1139,7 +1130,7 @@ struct bq_desc {
struct page *lbq_page;
struct sk_buff *skb;
} p;
- struct bq_element *bq;
+ __le64 *addr;
int index;
DECLARE_PCI_UNMAP_ADDR(mapaddr);
DECLARE_PCI_UNMAP_LEN(maplen);
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index d7894aa..f4c0160 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -874,7 +874,6 @@ static void ql_update_lbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
{
int clean_idx = rx_ring->lbq_clean_idx;
struct bq_desc *lbq_desc;
- struct bq_element *bq;
u64 map;
int i;
@@ -884,7 +883,6 @@ static void ql_update_lbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
"lbq: try cleaning clean_idx = %d.\n",
clean_idx);
lbq_desc = &rx_ring->lbq[clean_idx];
- bq = lbq_desc->bq;
if (lbq_desc->p.lbq_page == NULL) {
QPRINTK(qdev, RX_STATUS, DEBUG,
"lbq: getting new page for index %d.\n",
@@ -906,10 +904,7 @@ static void ql_update_lbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
}
pci_unmap_addr_set(lbq_desc, mapaddr, map);
pci_unmap_len_set(lbq_desc, maplen, PAGE_SIZE);
- bq->addr_lo = /*lbq_desc->addr_lo = */
- cpu_to_le32(map);
- bq->addr_hi = /*lbq_desc->addr_hi = */
- cpu_to_le32(map >> 32);
+ *lbq_desc->addr = cpu_to_le64(map);
}
clean_idx++;
if (clean_idx == rx_ring->lbq_len)
@@ -934,7 +929,6 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
{
int clean_idx = rx_ring->sbq_clean_idx;
struct bq_desc *sbq_desc;
- struct bq_element *bq;
u64 map;
int i;
@@ -944,7 +938,6 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
QPRINTK(qdev, RX_STATUS, DEBUG,
"sbq: try cleaning clean_idx = %d.\n",
clean_idx);
- bq = sbq_desc->bq;
if (sbq_desc->p.skb == NULL) {
QPRINTK(qdev, RX_STATUS, DEBUG,
"sbq: getting new skb for index %d.\n",
@@ -971,8 +964,7 @@ static void ql_update_sbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
pci_unmap_addr_set(sbq_desc, mapaddr, map);
pci_unmap_len_set(sbq_desc, maplen,
rx_ring->sbq_buf_size / 2);
- bq->addr_lo = cpu_to_le32(map);
- bq->addr_hi = cpu_to_le32(map >> 32);
+ *sbq_desc->addr = cpu_to_le64(map);
}
clean_idx++;
@@ -1340,7 +1332,7 @@ static struct sk_buff *ql_build_rx_skb(struct ql_adapter *qdev,
* eventually be in trouble.
*/
int size, offset, i = 0;
- struct bq_element *bq, bq_array[8];
+ __le64 *bq, bq_array[8];
sbq_desc = ql_get_curr_sbuf(rx_ring);
pci_unmap_single(qdev->pdev,
pci_unmap_addr(sbq_desc, mapaddr),
@@ -1366,16 +1358,10 @@ static struct sk_buff *ql_build_rx_skb(struct ql_adapter *qdev,
} else {
QPRINTK(qdev, RX_STATUS, DEBUG,
"Headers in small, %d bytes of data in chain of large.\n", length);
- bq = (struct bq_element *)sbq_desc->p.skb->data;
+ bq = (__le64 *)sbq_desc->p.skb->data;
}
while (length > 0) {
lbq_desc = ql_get_curr_lbuf(rx_ring);
- if ((bq->addr_lo & ~BQ_MASK) != lbq_desc->bq->addr_lo) {
- QPRINTK(qdev, RX_STATUS, ERR,
- "Panic!!! bad large buffer address, expected 0x%.08x, got 0x%.08x.\n",
- lbq_desc->bq->addr_lo, bq->addr_lo);
- return NULL;
- }
pci_unmap_page(qdev->pdev,
pci_unmap_addr(lbq_desc,
mapaddr),
@@ -2093,8 +2079,6 @@ static void ql_free_lbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring
put_page(lbq_desc->p.lbq_page);
lbq_desc->p.lbq_page = NULL;
}
- lbq_desc->bq->addr_lo = 0;
- lbq_desc->bq->addr_hi = 0;
}
}
@@ -2107,12 +2091,12 @@ static int ql_alloc_lbq_buffers(struct ql_adapter *qdev,
int i;
struct bq_desc *lbq_desc;
u64 map;
- struct bq_element *bq = rx_ring->lbq_base;
+ __le64 *bq = rx_ring->lbq_base;
for (i = 0; i < rx_ring->lbq_len; i++) {
lbq_desc = &rx_ring->lbq[i];
memset(lbq_desc, 0, sizeof(lbq_desc));
- lbq_desc->bq = bq;
+ lbq_desc->addr = bq;
lbq_desc->index = i;
lbq_desc->p.lbq_page = alloc_page(GFP_ATOMIC);
if (unlikely(!lbq_desc->p.lbq_page)) {
@@ -2129,8 +2113,7 @@ static int ql_alloc_lbq_buffers(struct ql_adapter *qdev,
}
pci_unmap_addr_set(lbq_desc, mapaddr, map);
pci_unmap_len_set(lbq_desc, maplen, PAGE_SIZE);
- bq->addr_lo = cpu_to_le32(map);
- bq->addr_hi = cpu_to_le32(map >> 32);
+ *lbq_desc->addr = cpu_to_le64(map);
}
bq++;
}
@@ -2159,13 +2142,6 @@ static void ql_free_sbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring
dev_kfree_skb(sbq_desc->p.skb);
sbq_desc->p.skb = NULL;
}
- if (sbq_desc->bq == NULL) {
- QPRINTK(qdev, IFUP, ERR, "sbq_desc->bq %d is NULL.\n",
- i);
- return;
- }
- sbq_desc->bq->addr_lo = 0;
- sbq_desc->bq->addr_hi = 0;
}
}
@@ -2177,13 +2153,13 @@ static int ql_alloc_sbq_buffers(struct ql_adapter *qdev,
struct bq_desc *sbq_desc;
struct sk_buff *skb;
u64 map;
- struct bq_element *bq = rx_ring->sbq_base;
+ __le64 *bq = rx_ring->sbq_base;
for (i = 0; i < rx_ring->sbq_len; i++) {
sbq_desc = &rx_ring->sbq[i];
memset(sbq_desc, 0, sizeof(sbq_desc));
sbq_desc->index = i;
- sbq_desc->bq = bq;
+ sbq_desc->addr = bq;
skb = netdev_alloc_skb(qdev->ndev, rx_ring->sbq_buf_size);
if (unlikely(!skb)) {
/* Better luck next round */
@@ -2209,10 +2185,7 @@ static int ql_alloc_sbq_buffers(struct ql_adapter *qdev,
}
pci_unmap_addr_set(sbq_desc, mapaddr, map);
pci_unmap_len_set(sbq_desc, maplen, rx_ring->sbq_buf_size / 2);
- bq->addr_lo = /*sbq_desc->addr_lo = */
- cpu_to_le32(map);
- bq->addr_hi = /*sbq_desc->addr_hi = */
- cpu_to_le32(map >> 32);
+ *sbq_desc->addr = cpu_to_le64(map);
bq++;
}
return 0;
@@ -3356,11 +3329,11 @@ static int ql_configure_rings(struct ql_adapter *qdev)
rx_ring->cq_len * sizeof(struct ql_net_rsp_iocb);
rx_ring->lbq_len = NUM_LARGE_BUFFERS;
rx_ring->lbq_size =
- rx_ring->lbq_len * sizeof(struct bq_element);
+ rx_ring->lbq_len * sizeof(__le64);
rx_ring->lbq_buf_size = LARGE_BUFFER_SIZE;
rx_ring->sbq_len = NUM_SMALL_BUFFERS;
rx_ring->sbq_size =
- rx_ring->sbq_len * sizeof(struct bq_element);
+ rx_ring->sbq_len * sizeof(__le64);
rx_ring->sbq_buf_size = SMALL_BUFFER_SIZE * 2;
rx_ring->type = DEFAULT_Q;
} else if (i < qdev->rss_ring_first_cq_id) {
@@ -3387,11 +3360,11 @@ static int ql_configure_rings(struct ql_adapter *qdev)
rx_ring->cq_len * sizeof(struct ql_net_rsp_iocb);
rx_ring->lbq_len = NUM_LARGE_BUFFERS;
rx_ring->lbq_size =
- rx_ring->lbq_len * sizeof(struct bq_element);
+ rx_ring->lbq_len * sizeof(__le64);
rx_ring->lbq_buf_size = LARGE_BUFFER_SIZE;
rx_ring->sbq_len = NUM_SMALL_BUFFERS;
rx_ring->sbq_size =
- rx_ring->sbq_len * sizeof(struct bq_element);
+ rx_ring->sbq_len * sizeof(__le64);
rx_ring->sbq_buf_size = SMALL_BUFFER_SIZE * 2;
rx_ring->type = RX_Q;
}
--
1.6.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes.
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
` (3 preceding siblings ...)
2009-01-05 22:27 ` [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues Ron Mercer
@ 2009-01-05 22:27 ` Ron Mercer
2009-01-06 2:20 ` David Miller
4 siblings, 1 reply; 11+ messages in thread
From: Ron Mercer @ 2009-01-05 22:27 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-driver, ron.mercer
Warnings:
drivers/net/qlge/qlge_main.c:1474:34: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1475:36: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1592:51: warning: restricted degrades to integer
drivers/net/qlge/qlge_main.c:1941:20: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:1941:20: expected restricted unsigned int [usertype] tid
drivers/net/qlge/qlge_main.c:1941:20: got int [signed] index
drivers/net/qlge/qlge_main.c:1945:24: warning: incorrect type in assignment (different base types)
drivers/net/qlge/qlge_main.c:1945:24: expected restricted unsigned int [usertype] txq_idx
drivers/net/qlge/qlge_main.c:1945:24: got unsigned int [unsigned] [usertype] tx_ring_idx
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 76ef2bc..459663a 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -851,8 +851,8 @@ struct ob_mac_iocb_req {
__le16 frame_len;
#define OB_MAC_IOCB_LEN_MASK 0x3ffff
__le16 reserved2;
- __le32 tid;
- __le32 txq_idx;
+ u32 tid;
+ u32 txq_idx;
__le32 reserved3;
__le16 vlan_tci;
__le16 reserved4;
@@ -871,8 +871,8 @@ struct ob_mac_iocb_rsp {
u8 flags2; /* */
u8 flags3; /* */
#define OB_MAC_IOCB_RSP_B 0x80 /* */
- __le32 tid;
- __le32 txq_idx;
+ u32 tid;
+ u32 txq_idx;
__le32 reserved[13];
} __attribute((packed));
@@ -894,8 +894,8 @@ struct ob_mac_tso_iocb_req {
#define OB_MAC_TSO_IOCB_V 0x04
__le32 reserved1[2];
__le32 frame_len;
- __le32 tid;
- __le32 txq_idx;
+ u32 tid;
+ u32 txq_idx;
__le16 total_hdrs_len;
__le16 net_trans_offset;
#define OB_MAC_TRANSPORT_HDR_SHIFT 6
@@ -916,8 +916,8 @@ struct ob_mac_tso_iocb_rsp {
u8 flags2; /* */
u8 flags3; /* */
#define OB_MAC_TSO_IOCB_RSP_B 0x8000
- __le32 tid;
- __le32 txq_idx;
+ u32 tid;
+ u32 txq_idx;
__le32 reserved2[13];
} __attribute((packed));
@@ -1118,7 +1118,7 @@ struct map_list {
struct tx_ring_desc {
struct sk_buff *skb;
struct ob_mac_iocb_req *queue_entry;
- int index;
+ u32 index;
struct oal oal;
struct map_list map[MAX_SKB_FRAGS + 1];
int map_cnt;
@@ -1131,7 +1131,7 @@ struct bq_desc {
struct sk_buff *skb;
} p;
__le64 *addr;
- int index;
+ u32 index;
DECLARE_PCI_UNMAP_ADDR(mapaddr);
DECLARE_PCI_UNMAP_LEN(maplen);
};
--
1.6.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c
2009-01-05 22:27 ` [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c Ron Mercer
@ 2009-01-06 2:17 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-01-06 2:17 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, linux-driver
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Mon, 5 Jan 2009 14:27:28 -0800
...
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags.
2009-01-05 22:27 ` [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags Ron Mercer
@ 2009-01-06 2:18 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-01-06 2:18 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, linux-driver
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Mon, 5 Jan 2009 14:27:29 -0800
> Changed flags element from __le32 to 3 reserved bytes and one byte of
> flags. Changed flags bit definitions to reflect byte width instead of
> __le32 width.
>
> Warnings:
> drivers/net/qlge/qlge_main.c:1206:16: warning: restricted degrades to integer
> drivers/net/qlge/qlge_main.c:1207:16: warning: restricted degrades to integer
> drivers/net/qlge/qlge_main.c:1233:17: warning: restricted degrades to integer
> drivers/net/qlge/qlge_main.c:1276:17: warning: restricted degrades to integer
> drivers/net/qlge/qlge_main.c:1349:19: warning: restricted degrades to integer
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup().
2009-01-05 22:27 ` [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup() Ron Mercer
@ 2009-01-06 2:18 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-01-06 2:18 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, linux-driver
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Mon, 5 Jan 2009 14:27:30 -0800
> Changed u16 to __sum16 usage.
>
> Warnings:
...
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues.
2009-01-05 22:27 ` [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues Ron Mercer
@ 2009-01-06 2:19 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-01-06 2:19 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, linux-driver
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Mon, 5 Jan 2009 14:27:31 -0800
> Warnings:
...
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes.
2009-01-05 22:27 ` [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes Ron Mercer
@ 2009-01-06 2:20 ` David Miller
0 siblings, 0 replies; 11+ messages in thread
From: David Miller @ 2009-01-06 2:20 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev, linux-driver
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Mon, 5 Jan 2009 14:27:32 -0800
> Warnings:
...
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Also applied, thanks Ron.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2009-01-06 2:20 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-05 22:26 [PATCH 0/5] qlge:Fix sparse warnings Ron Mercer
2009-01-05 22:27 ` [PATCH 1/5] qlge: Fix sparse warnings for byte swapping in qlge_ethool.c Ron Mercer
2009-01-06 2:17 ` David Miller
2009-01-05 22:27 ` [PATCH 2/5] qlge: Fix sparse endian warning for inbound packet control block flags Ron Mercer
2009-01-06 2:18 ` David Miller
2009-01-05 22:27 ` [PATCH 3/5] qlge: Fix sparse endian warning in ql_hw_csum_setup() Ron Mercer
2009-01-06 2:18 ` David Miller
2009-01-05 22:27 ` [PATCH 4/5] qlge: Fix sparse warning regarding rx buffer queues Ron Mercer
2009-01-06 2:19 ` David Miller
2009-01-05 22:27 ` [PATCH 5/5] qlge: Fix sparse warnings for tx ring indexes Ron Mercer
2009-01-06 2:20 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).