On Thu, 2022-06-02 at 10:56 -0700, Stephen Hemminger wrote: > On Thu, 2 Jun 2022 17:15:13 +0000 > Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> wrote: > > > On Thu, 2022-06-02 at 09:57 -0700, Jakub Kicinski wrote: > > > On Thu, 2 Jun 2022 16:26:18 +0000 Joakim Tjernlund wrote: > > > > On Thu, 2022-06-02 at 08:56 -0700, Stephen Hemminger wrote: > > > > > > Sure, our HW has config/state changes that makes it impossible for net driver > > > > > > to touch and registers or TX pkgs(can result in System Error exception in worst case. > > > > > > What is "our HW", what kernel driver does it use and why can't the > > > kernel driver take care of making sure the device is not accessed > > > when it'd crash the system? > > > > It is a custom asic with some homegrown controller. The full config path is too complex for kernel too > > know and depends on user input. The cashing/TX TMO part was not part of the design plans and > > I have been down this route with the HW designers without success. > > Changing upstream code to support out of tree code? > The risk of breaking current users for something that no one else uses > is a bad idea. There are in tree users too, see fixed_phy_change_carrier(), I am not asking for adding a new feature, just making an existing one more usable. > > > > > > > > Maybe so but it seems to me that this limitation was put in place without much thought. > > > > > > Don't make unnecessary disparaging statements about someone else's work. > > > Whoever that person was. > > > > That was not meant the way you read it, sorry for being unclear. > > The commit from 2012 simply says: > > net: allow to change carrier via sysfs > > > > Make carrier writable > > > > Setting carrier from userspace was added to support VPN's etc; > in general it was not meant as hardware workaround. > > Often using operstate is better with complex hardware did you look at that? You mean? ls -l /sys/class/net/sgmii/operstate -r--r--r-- 1 root root 4096 Mar 9 12:46 /sys/class/net/sgmii/operstate I did, but operstate here is not writeable. Did you perhaps mean some other operstate ? Jocke