From: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Wed, 4 Jul 2018 11:12:38 +0300 > For ages trivial changes to RAVB and SuperH ethernet links by means of > standard 'ethtool' trigger a 'sleeping function called from invalid > context' bug, to visualize it on r8a7795 ULCB: ... > The root cause is that an attempt to modify ECMR and GECMR registers > only when RX/TX function is disabled was too overcomplicated in its > original implementation, also processing of an optional Link Change > interrupt added even more complexity, as a result the implementation > was error prone. > > The new locking scheme is confirmed to be correct by dumping driver > specific and generic PHY framework function calls with aid of ftrace > while running more or less advanced tests. > > Please note that sh_eth patches from the series were built-tested only. > > On purpose I do not add Fixes tags, the reused PHY handlers were added > way later than the fixed problems were firstly found in the drivers. > > Changes from v1 to v2: > * the original patches are split to bugfixes and enhancements only, > both v1 and v2 series are absolutely equal in total, thus I omit > description of changes in individual patches, > * the latter implies that there should be no strict need for retesting, > but because formally two series are different, I have to drop the tags > given by Geert and Andrew, please send your tags again. These changes look fine to me but I want to see some reviews and/or testing before I apply them. Thanks.