]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
qede: Fix system crash on configuring channels.
authorSudarsana Reddy Kalluru <skalluru@marvell.com>
Wed, 6 Feb 2019 22:43:45 +0000 (14:43 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Mar 2019 21:04:17 +0000 (14:04 -0700)
commit42855c15864d7ad4ef44561670a797ad65ab9bbe
tree322dc1532b132644e9e710d3ad1e2547f3d715d5
parenta90c4fef8a132857b4b54a80c9ff7cd58d62433e
qede: Fix system crash on configuring channels.

[ Upstream commit 0aa4febb420d91df5b56b1864a2465765da85f4b ]

Under heavy traffic load, when changing number of channels via
ethtool (ethtool -L) which will cause interface to be reloaded,
it was observed that some packets gets transmitted on old TX
channel/queue id which doesn't really exist after the channel
configuration leads to system crash.

Add a safeguard in the driver by validating queue id through
ndo_select_queue() which is called before the ndo_start_xmit().

Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/qlogic/qede/qede.h
drivers/net/ethernet/qlogic/qede/qede_fp.c
drivers/net/ethernet/qlogic/qede/qede_main.c