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

Reply via email to