Patch "e1000e: fix call to do_div() to use u64 arg" has been added to the 3.18-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
e1000e: fix call to do_div() to use u64 arg
to the 3.18-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:
e1000e-fix-call-to-do_div-to-use-u64-arg.patch
and it can be found in the queue-3.18 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
30544af5483755b11bb5924736e9e0b45ef0644aMon Sep 17 00:00:00 2001
From: Jeff Kirsher <[email protected]>
Date: Sat, 2 May 2015 01:20:04 -0700
Subject: e1000e: fix call to do_div() to use u64 arg
From: Jeff Kirsher <[email protected]>
commit 30544af5483755b11bb5924736e9e0b45ef0644a upstream.
We were using s64 for lat_ns (latency nano-second value) since in our calculations a negative value could be a resultant. For negative values, we then assign lat_ns to be zero, so the value passed to do_div() was never negative, but do_div() expects the argument type to be u64, so do a cast to resolve a compile warning seen on PowerPC.
--- drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
drivers/net/ethernet/intel/e1000e/ich8lan.c +7 -6
@@ -983,7 +983,7 @@ static s32 e1000_platform_pm_pch_lpt(stru16 max_snoop, max_nosnoop;u16 max_ltr_enc;/* max LTR latency encoded */ s64 lat_ns;/* latency (ns) */ -s64 value; +u64 value;u32 rxa;if (!hw->adapter->max_frame_size) {
@@ -1010,12 +1010,13 @@ static s32 e1000_platform_pm_pch_lpt(str*/ lat_ns = ((s64 )rxa *1024 - (2 * (s64 )hw->adapter->max_frame_size)) *8 *1000 ; -if (lat_ns <0 ) - lat_ns =0 ; -else -do_div (lat_ns, speed); +if (lat_ns <0 ) { + value =0 ; + }else { + value = lat_ns; +do_div (value, speed); + } - value = lat_ns;while (value >PCI_LTR_VALUE_MASK ) { scale++; value =DIV_ROUND_UP (value, (1 <<5 ));
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/e1000e-fix-call-to-do_div-to-use-u64-arg.patch