linux-stable/drivers/net/ethernet/intel/e1000e
Sasha Neftin 04ebaa1cfd e1000e: Fix possible overflow in LTR decoding
When we decode the latency and the max_latency, u16 value may not fit
the required size and could lead to the wrong LTR representation.

Scaling is represented as:
scale 0 - 1         (2^(5*0)) = 2^0
scale 1 - 32        (2^(5 *1))= 2^5
scale 2 - 1024      (2^(5 *2)) =2^10
scale 3 - 32768     (2^(5 *3)) =2^15
scale 4 - 1048576   (2^(5 *4)) = 2^20
scale 5 - 33554432  (2^(5 *4)) = 2^25
scale 4 and scale 5 required 20 and 25 bits respectively.
scale 6 reserved.

Replace the u16 type with the u32 type and allow corrected LTR
representation.

Cc: stable@vger.kernel.org
Fixes: 44a13a5d99 ("e1000e: Fix the max snoop/no-snoop latency for 10M")
Reported-by: James Hutchinson <jahutchinson99@googlemail.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215689
Suggested-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Tested-by: James Hutchinson <jahutchinson99@googlemail.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-04-13 09:18:27 -07:00
..
80003es2lan.c
80003es2lan.h
82571.c
82571.h
Makefile
defines.h
e1000.h e1000e: Separate ADP board type from TGP 2022-02-01 08:59:45 -08:00
ethtool.c
hw.h e1000e: Fix possible HW unit hang after an s0ix exit 2022-02-28 13:42:28 -08:00
ich8lan.c e1000e: Fix possible overflow in LTR decoding 2022-04-13 09:18:27 -07:00
ich8lan.h e1000e: Fix possible HW unit hang after an s0ix exit 2022-02-28 13:42:28 -08:00
mac.c
mac.h
manage.c
manage.h
netdev.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-03-03 11:55:12 -08:00
nvm.c
nvm.h
param.c
phy.c e1000e: Print PHY register address when MDI read/write fails 2022-03-09 19:53:03 -08:00
phy.h
ptp.c
regs.h