OSDN Git Service

qede: fix interrupt coalescing configuration
[tomoyo/tomoyo-test1.git] / drivers / net / ethernet / qlogic / qede / qede_main.c
index 953f304..af39513 100644 (file)
@@ -970,8 +970,15 @@ static int qede_alloc_fp_array(struct qede_dev *edev)
                goto err;
        }
 
-       mem = krealloc(edev->coal_entry, QEDE_QUEUE_CNT(edev) *
-                      sizeof(*edev->coal_entry), GFP_KERNEL);
+       if (!edev->coal_entry) {
+               mem = kcalloc(QEDE_MAX_RSS_CNT(edev),
+                             sizeof(*edev->coal_entry), GFP_KERNEL);
+       } else {
+               mem = krealloc(edev->coal_entry,
+                              QEDE_QUEUE_CNT(edev) * sizeof(*edev->coal_entry),
+                              GFP_KERNEL);
+       }
+
        if (!mem) {
                DP_ERR(edev, "coalesce entry allocation failed\n");
                kfree(edev->coal_entry);