enic: Bug fix: align desc ring sizes to 32 descs
Scott Feldman [Wed, 23 Dec 2009 13:27:48 +0000 (13:27 +0000)]
Previous driver was aligning ring sizes to 16 descs, but hardware actually
wants desc ring sizes to be aligned to 32 descs.

Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com>
Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/enic/enic_res.c

index 3211114..a605da1 100644 (file)
@@ -74,13 +74,13 @@ int enic_get_vnic_config(struct enic *enic)
                min_t(u32, ENIC_MAX_WQ_DESCS,
                max_t(u32, ENIC_MIN_WQ_DESCS,
                c->wq_desc_count));
-       c->wq_desc_count &= 0xfffffff0; /* must be aligned to groups of 16 */
+       c->wq_desc_count &= 0xffffffe0; /* must be aligned to groups of 32 */
 
        c->rq_desc_count =
                min_t(u32, ENIC_MAX_RQ_DESCS,
                max_t(u32, ENIC_MIN_RQ_DESCS,
                c->rq_desc_count));
-       c->rq_desc_count &= 0xfffffff0; /* must be aligned to groups of 16 */
+       c->rq_desc_count &= 0xffffffe0; /* must be aligned to groups of 32 */
 
        if (c->mtu == 0)
                c->mtu = 1500;