mirror_ubuntu-kernels/drivers/net/ethernet/intel
Denys Vlasenko 3d05b15b03 e1000e: prevent division by zero if TIMINCA is zero
Users report that under VMWare, er32(TIMINCA) returns zero.
This causes division by zero at init time as follows:

 ==>       incvalue = er32(TIMINCA) & E1000_TIMINCA_INCVALUE_MASK;
           for (i = 0; i < E1000_MAX_82574_SYSTIM_REREADS; i++) {
                   /* latch SYSTIMH on read of SYSTIML */
                   systim_next = (cycle_t)er32(SYSTIML);
                   systim_next |= (cycle_t)er32(SYSTIMH) << 32;

                   time_delta = systim_next - systim;
                   temp = time_delta;
 ====>             rem = do_div(temp, incvalue);

This change makes kernel survive this, and users report that
NIC does work after this change.

Since on real hardware incvalue is never zero, this should not affect
real hardware use case.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-06-29 10:00:22 -07:00
..
e1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-04-09 17:41:41 -04:00
e1000e e1000e: prevent division by zero if TIMINCA is zero 2016-06-29 10:00:22 -07:00
fm10k fm10k: fix incorrect index calculation in fm10k_write_reta 2016-06-29 09:53:36 -07:00
i40e i40e: Don't notify client(s) for DCB changes on all VSIs 2016-06-27 16:22:28 -07:00
i40evf i40e/i40evf: Bump version from 1.5.16 to 1.6.4 2016-06-27 16:14:30 -07:00
igb intel: Add support for IPv6 IP-in-IP offload 2016-05-20 19:25:52 -04:00
igbvf intel: Add support for IPv6 IP-in-IP offload 2016-05-20 19:25:52 -04:00
ixgb drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ixgbe ixgbe: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:30 -07:00
ixgbevf intel: Add support for IPv6 IP-in-IP offload 2016-05-20 19:25:52 -04:00
e100.c e100: Release skb when DMA mapping is failed in e100_xmit_prepare 2015-08-18 14:06:05 -07:00
Kconfig ixgbe: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:30 -07:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00