On Wed, Sep 23, 2020 at 05:15:07PM +0200, Maximilian Luz wrote: > This commit adds error injection hooks to the Surface Serial Hub > communication protocol implementation, to: > > - simulate simple serial transmission errors, > > - drop packets, requests, and responses, simulating communication > failures and potentially trigger retransmission timeouts, as well as > > - inject invalid data into submitted and received packets. > > Together with the trace points introduced in the previous commit, these > facilities are intended to aid in testing, validation, and debugging of > the Surface Aggregator communication layer. > > Signed-off-by: Maximilian Luz <luzmaximilian@xxxxxxxxx> Ok, this is ridiculous. You are dropping a whole new subsystem on us, with full documentation, correct driver model integration, crazy debugfs interactions (I made fun of the patch, but the code did work, you just did more work than was needed), proper auto-loading of modules, tracing, documentation for more things than is ever expected, and now you are adding error injection support? You just made all other code submissions of new subsystems I have gotten in the past 2 months look like total crud. Which, to be fair, they probably were, but wow, you just stepped up the level of professionalism to a whole new height. I can only dream that "real Linux companies" take note and try to follow this example. I think I will point them all at this in the future and say, "go do it like this one." very very very nice work, we owe you the beverage of your choice. greg k-h