Patch "bnxt_en: Fix TX push operation on ARM64." has been added to the 4.7-stable tree
This is a note to let you know that I've just added the patch titled
bnxt_en: Fix TX push operation on ARM64.
to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
bnxt_en-fix-tx-push-operation-on-arm64.patch
and it can be found in the queue-4.7 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Wed Sep 21 10:05:18 CEST 2016
From: Michael Chan <[email protected]>
Date: Mon, 5 Sep 2016 01:57:35 -0400
Subject: bnxt_en: Fix TX push operation on ARM64.
From: Michael Chan <[email protected]>
[ Upstream commit 9d13744bb75078175ab49408f2abb980e4dbccc9 ]
There is a code path where we are calling __iowrite64_copy() on an address that is not 64-bit aligned. This causes an exception on some architectures such as arm64. Fix that code path by using __iowrite32_copy().
--- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -2
@@ -293,8 +293,8 @@ static netdev_tx_t bnxt_start_xmit(struc push_len = (length +sizeof (*tx_push) +7 ) /8 ;if (push_len >16 ) {__iowrite64_copy (txr->tx_doorbell, tx_push_buf,16 ); -__iowrite64_copy (txr->tx_doorbell +4 , tx_push_buf +1 , - push_len -16 ); +__iowrite32_copy (txr->tx_doorbell +4 , tx_push_buf +1 , + (push_len -16 ) <<1 ); }else {__iowrite64_copy (txr->tx_doorbell, tx_push_buf, push_len);
Patches currently in stable-queue which might be from [email protected] are
queue-4.7/bnxt_en-fix-tx-push-operation-on-arm64.patch