[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180824071738.Horde.kWZLgt1409E2fICBH1FiM5U@crashcourse.ca>
Date:   Fri, 24 Aug 2018 07:17:38 -0400
From:   rpjday@...shcourse.ca
To:     netdev@...r.kernel.org
Subject: should __LINK_STATE_* enums really be restricted to generic
 queueing layer?
   more curious pedantry ... in netdevice.h, one reads:
   /* These flag bits are private to the generic network queueing
    * layer; they may not be explicitly referenced by any other
    * code.
    */
   enum netdev_state_t {
         __LINK_STATE_START,
         __LINK_STATE_PRESENT,
         __LINK_STATE_NOCARRIER,
         __LINK_STATE_LINKWATCH_PENDING,
         __LINK_STATE_DORMANT,
   };
ok, but there are definitely a few examples of what look like
non-generic network queueing code referencing those enums.
   one example, drivers/net/ethernet/amd/sun3lance.c, which openly
(and amusingly) admits that it shouldn't be doing this:
         dev->netdev_ops = &lance_netdev_ops;
   //      KLUDGE -- REMOVE ME
         set_bit(__LINK_STATE_PRESENT, &dev->state);
         return 1;
   }
there are a few more places (admittedly, not many) -- is this
acceptable behaviour?
rday
Powered by blists - more mailing lists
 
