]> 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)
commit45704c262c19015c58212e5c36f8f1bc36a705db
tree15d522054d323dd37bf3c8b4b0148f7f1fd66c84
parent7a987c48039131bc2dcf78b915253ce2ee92910d
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