[vortex] [CFT] 3c59x.c for 2.2.18-pre
    Andrew Morton 
    andrewm@uow.edu.au
    Fri, 20 Oct 2000 00:48:00 +1100
    
    
  
Gentlemen,
could you please test a proposed update of the 2.2.18 kernel's
3c59x.c driver?
It is at http://www.uow.edu.au/~andrewm/linux/3c59x-2.2.18-pre16-1.gz .
You don't need to upgrade your 2.2 kernel to test this - it should
just drop into 2.2.anything.
The changelog is at
http://www.uow.edu.au/~andrewm/linux/3c59x-2.2-changelog.txt.
The relevant excerpt is included below.
Thanks.
   19 October 2000, Kernel 2.2.18-pre16
   ====================================
    - Added support for the 3c556B mini-PCI NICs.  These devices
      are found in HP Omnibooks and IBM Thinkpad A10's.  This support
      involves changes to the EEPROM handling and is still not fully
      correct - the driver needs an rmmod/insmod after a power
      management resume.  Until we can find a datasheet for the EEPROM
      handling this is better than nothing.
      (Jon Chen, Louis Gerbarg, Fred Maciel).
    - Backported the transceiver options handling from 2.4.
      This is a slight non-upward-compatible change for this
      driver - where previously you had
         modprobe 3c59x options=0x08
      to force full duplex, you now need
         modprobe 3c59x options=0x200.
      So the bit has moved.  This is to allow media override of
      media interfaces 8-15.
      But you should not use `options=0x200'.  Use
      `full_duplex=1' instead.
      (Maciej Rozycki)
    - Reworked the semantics of the `full_duplex' module parm.  I
      never understood how this was supposed to work anyway.
      It is now unambiguous.  If you use `full_duplex=1' you
      always get full duplex.  If you use `full_duplex=0' you always
      get half duplex.
      If you use full_duplex=-1 you get the standard
      autoneg/autodetect/whatever behaviour.  -1 is a no-op.  This is
      done so if you have more than one 3c59x NIC you can force duplex
      on some and leave others to autodetect.  For example,
        modprobe 3c59x full_duplex=1,-1,0
      will force NIC 0 to full duplex, will force NIC 2 to half
      duplex and will leave NIC 1 alone to autodetect.
    - Removed all the code inside `#ifdef CARDBUS'.  This driver
      does not support Cardbus devices - see the pcmcia-cs 3c575_cb.c
      driver fork for that.
    - Backported the INVERT_MII_PWR, EEPROM_8BIT and
      EEPROM_OFFSET flags from various places and used them.
    - Use EPROM_8BIT for the 3c555.  There are now four reports
      that the driver doesn't work without this change, so I'm
      convinced.
      (Fred Maciel)
    - Merged the Wake-on-LAN support from one of Donald's drivers.
      (Georg Engstrand)
    - Merged back the 2.4 driver's Rx out-of-memory handling. 
      Backed out the 24Jun00 minimal handling of this.
    - Replace suser() with capable(CAP_NET_ADMIN) in ioctl().