drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc
authorMariusz Kozlowski <m.kozlowski@tuxland.pl>
Tue, 31 Jul 2007 22:11:50 +0000 (00:11 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:50:22 +0000 (16:50 -0700)
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
 drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes)
 drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes)

 drivers/net/via-velocity.c |   24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/via-velocity.c

index 93574add4063e6d17af9dec41e9ff57060e403c6..a4729bc385f4107ca9d1c717ab467f398d3af83f 100644 (file)
@@ -1071,14 +1071,12 @@ static int velocity_rx_refill(struct velocity_info *vptr)
 
 static int velocity_init_rd_ring(struct velocity_info *vptr)
 {
-       int ret = -ENOMEM;
-       unsigned int rsize = sizeof(struct velocity_rd_info) *
-                                       vptr->options.numrx;
+       int ret;
 
-       vptr->rd_info = kmalloc(rsize, GFP_KERNEL);
-       if(vptr->rd_info == NULL)
-               goto out;
-       memset(vptr->rd_info, 0, rsize);
+       vptr->rd_info = kcalloc(vptr->options.numrx,
+                               sizeof(struct velocity_rd_info), GFP_KERNEL);
+       if (!vptr->rd_info)
+               return -ENOMEM;
 
        vptr->rd_filled = vptr->rd_dirty = vptr->rd_curr = 0;
 
@@ -1088,7 +1086,7 @@ static int velocity_init_rd_ring(struct velocity_info *vptr)
                        "%s: failed to allocate RX buffer.\n", vptr->dev->name);
                velocity_free_rd_ring(vptr);
        }
-out:
+
        return ret;
 }
 
@@ -1142,21 +1140,19 @@ static int velocity_init_td_ring(struct velocity_info *vptr)
        dma_addr_t curr;
        struct tx_desc *td;
        struct velocity_td_info *td_info;
-       unsigned int tsize = sizeof(struct velocity_td_info) *
-                                       vptr->options.numtx;
 
        /* Init the TD ring entries */
        for (j = 0; j < vptr->num_txq; j++) {
                curr = vptr->td_pool_dma[j];
 
-               vptr->td_infos[j] = kmalloc(tsize, GFP_KERNEL);
-               if(vptr->td_infos[j] == NULL)
-               {
+               vptr->td_infos[j] = kcalloc(vptr->options.numtx,
+                                           sizeof(struct velocity_td_info),
+                                           GFP_KERNEL);
+               if (!vptr->td_infos[j]) {
                        while(--j >= 0)
                                kfree(vptr->td_infos[j]);
                        return -ENOMEM;
                }
-               memset(vptr->td_infos[j], 0, tsize);
 
                for (i = 0; i < vptr->options.numtx; i++, curr += sizeof(struct tx_desc)) {
                        td = &(vptr->td_rings[j][i]);