OSDN Git Service

atm: nicstar: Use kcalloc() to simplify code
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 18 Feb 2022 17:46:51 +0000 (18:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 Feb 2022 16:38:12 +0000 (16:38 +0000)
Use kcalloc() instead of kmalloc_array() and a loop to set all the values
of the array to NULL.

While at it, remove a duplicated assignment to 'scq->num_entries'.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/atm/nicstar.c

index bc5a6ab..1a50de3 100644 (file)
@@ -861,7 +861,6 @@ static void ns_init_card_error(ns_dev *card, int error)
 static scq_info *get_scq(ns_dev *card, int size, u32 scd)
 {
        scq_info *scq;
-       int i;
 
        if (size != VBR_SCQSIZE && size != CBR_SCQSIZE)
                return NULL;
@@ -875,9 +874,8 @@ static scq_info *get_scq(ns_dev *card, int size, u32 scd)
                kfree(scq);
                return NULL;
        }
-       scq->skb = kmalloc_array(size / NS_SCQE_SIZE,
-                                sizeof(*scq->skb),
-                                GFP_KERNEL);
+       scq->skb = kcalloc(size / NS_SCQE_SIZE, sizeof(*scq->skb),
+                          GFP_KERNEL);
        if (!scq->skb) {
                dma_free_coherent(&card->pcidev->dev,
                                  2 * size, scq->org, scq->dma);
@@ -890,15 +888,11 @@ static scq_info *get_scq(ns_dev *card, int size, u32 scd)
        scq->last = scq->base + (scq->num_entries - 1);
        scq->tail = scq->last;
        scq->scd = scd;
-       scq->num_entries = size / NS_SCQE_SIZE;
        scq->tbd_count = 0;
        init_waitqueue_head(&scq->scqfull_waitq);
        scq->full = 0;
        spin_lock_init(&scq->lock);
 
-       for (i = 0; i < scq->num_entries; i++)
-               scq->skb[i] = NULL;
-
        return scq;
 }