mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
qede: fix interrupt coalescing configuration
commit908d4bb7c5upstream. On default driver load device gets configured with unexpected higher interrupt coalescing values instead of default expected values as memory allocated from krealloc() is not supposed to be zeroed out and may contain garbage values. Fix this by allocating the memory of required size first with kcalloc() and then use krealloc() to resize and preserve the contents across down/up of the interface. Signed-off-by: Manish Chopra <manishc@marvell.com> Fixes:b0ec5489c4("qede: preserve per queue stats across up/down of interface") Cc: stable@vger.kernel.org Cc: Bhaskar Upadhaya <bupadhaya@marvell.com> Cc: David S. Miller <davem@davemloft.net> Link: https://bugzilla.redhat.com/show_bug.cgi?id=2160054 Signed-off-by: Alok Prasad <palok@marvell.com> Signed-off-by: Ariel Elior <aelior@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
fd081afd21
commit
935ba268ac
@@ -909,8 +909,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);
|
||||
|
||||
Reference in New Issue
Block a user