]> git.baikalelectronics.ru Git - kernel.git/commit
igc: Reject schedules with a base_time in the future
authorVinicius Costa Gomes <vinicius.gomes@intel.com>
Wed, 2 Sep 2020 23:36:57 +0000 (16:36 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 28 Sep 2020 21:42:46 +0000 (14:42 -0700)
commit40b1b2926d135f2c40aa02e06762c8ade8c463a0
tree15d522054d323dd37bf3c8b4b0148f7f1fd66c84
parent00dd3a4e697c8b6a11d5b0577b4805308d77ac88
igc: Reject schedules with a base_time in the future

When we set the BASET registers of i225 with a base_time in the
future, i225 will "hold" all packets until that base_time is reached,
causing a lot of TX Hangs.

As this behaviour seems contrary to the expectations of the IEEE
802.1Q standard (section 8.6.9, especially 8.6.9.4.5), let's start by
rejecting these types of schedules. If this is too limiting, we can
for example, setup a timer to configure the BASET registers closer to
the start time, only blocking the packets for a "short" while.

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc_main.c