Microsemi / switchtec-kernel

A kernel module for the Microsemi PCIe switch
GNU General Public License v2.0
45 stars 31 forks source link

Nt improve #107

Closed kelvin-cao closed 3 years ago

kelvin-cao commented 3 years ago

In commit fd0edeee119ee3684d1e2e111cb6fe09a636dbb9, we corrected the requester ID registration for crosslink setup. However, this fix introduced a new competition condition we didn't take good care of. When adding a requester ID to the crosslink peer partition, it will require the NT partition state transition to take place on that partitoin. In the meantime, the peer host may be doing some other setup like creating a new LUT window which requires the state transition to take place on the same partition.

This PR improved the code by

kelvin-cao commented 3 years ago

Updated code and added some explanation in the commit message.