]> 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:02:38 +0000 (14:02 -0700)
commit1781ae6f0eacd97a033966cf1a55143dca0ec7ae
treea46f1e71190364dea4ffec60d8c0ca8e7df1525f
parent84828dd2ba92454033d819a35e203f45a8b9dcd8
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