linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bk patches] 2.6.x net driver updates
@ 2003-08-08  0:05 Jeff Garzik
  2003-08-08  1:36 ` William Enck
  0 siblings, 1 reply; 11+ messages in thread
From: Jeff Garzik @ 2003-08-08  0:05 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, netdev


Linus, please do a

	bk pull bk://kernel.bkbits.net/jgarzik/net-drivers-2.6

Others may download the patch from

ftp://ftp.??.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-test2-bk7-netdrvr1.patch.bz2

This will update the following files:

 CREDITS                             |   15 +
 MAINTAINERS                         |    8 
 drivers/net/arm/am79c961a.c         |    7 
 drivers/net/arm/ether00.c           |   81 ++++------
 drivers/net/arm/ether1.c            |    9 -
 drivers/net/arm/ether3.c            |    7 
 drivers/net/arm/etherh.c            |   16 +
 drivers/net/pcmcia/3c574_cs.c       |   18 --
 drivers/net/pcmcia/3c589_cs.c       |   18 --
 drivers/net/pcmcia/axnet_cs.c       |   19 --
 drivers/net/pcmcia/com20020_cs.c    |   14 -
 drivers/net/pcmcia/fmvj18x_cs.c     |   18 --
 drivers/net/pcmcia/ibmtr_cs.c       |   15 -
 drivers/net/pcmcia/nmclan_cs.c      |   17 --
 drivers/net/pcmcia/pcnet_cs.c       |   17 --
 drivers/net/pcmcia/smc91c92_cs.c    |   17 --
 drivers/net/pcmcia/xirc2ps_cs.c     |   18 --
 drivers/net/wireless/airo.c         |   33 ++--
 drivers/net/wireless/airo_cs.c      |   22 --
 drivers/net/wireless/netwave_cs.c   |   20 --
 drivers/net/wireless/orinoco_cs.c   |   16 -
 drivers/net/wireless/ray_cs.c       |   22 --
 drivers/net/wireless/wavelan_cs.c   |   15 -
 drivers/net/wireless/wavelan_cs.p.h |    2 
 drivers/net/wireless/wl3501.h       |  244 ++++++++++++++++++------------
 drivers/net/wireless/wl3501_cs.c    |  290 +++++++++++++++++++++++-------------
 26 files changed, 534 insertions(+), 444 deletions(-)

through these ChangeSets:

<jgarzik@redhat.com> (03/08/07 1.1130)
   [netdrvr airo] now that it builds, re-enable wireless_ext

<achirica@telefonica.net> (03/08/07 1.1129)
   [netdrvr airo] Fix adhoc config

<achirica@telefonica.net> (03/08/07 1.1128)
   [netdrvr airo] safer unload code

<achirica@telefonica.net> (03/08/07 1.1127)
   [netdrvr airo] MIC support with newer firmware

<achirica@telefonica.net> (03/08/07 1.1126)
   [netdrvr airo] add missing lines for Wireless Extensions 16

<achirica@telefonica.net> (03/08/07 1.1125)
   [netdrvr airo] MAC type changed to unsigned

<achirica@telefonica.net> (03/08/07 1.1124)
   [netdrvr airo] Missing defines (only for documentation)

<hch@lst.de> (03/08/07 1.1123)
   [netdrvr pcmcia] remove the release timer from all pcmcia net drivers
   
   Ack'd by Russell King as well.

<rmk@arm.linux.org.uk> (03/08/05 1.1106.1.11)
   [netdrvr ARM] alloc_etherdev updates

<acme@conectiva.com.br> (03/07/20 1.1046.409.66)
   o MAINTAINERS: add acme as wl3501 maintainer
   
   Also add Niemeyer to CREDITS for his work on early stages of
   wireless extensions support for the wl3501 card.

<acme@conectiva.com.br> (03/07/20 1.1046.409.65)
   o wl3501: add a first cut, lazy scan triggering for set_scan

<acme@conectiva.com.br> (03/07/20 1.1046.409.64)
   o wl3501: implement {get,set}_scan wireless extensions
   
   set_scan still needs to trigger a scan, but for now doing something
   that resets the card, like iwconfig eth0 mode ad-hoc triggers a
   scanning, and even without that we report the last scan results,
   good enough for now 8) But it will be implemented, don't worry! :-)

<acme@conectiva.com.br> (03/07/20 1.1046.409.63)
   o wl3501: introduce iw_mgmt_data_rset and rate labels enum

<acme@conectiva.com.br> (03/07/20 1.1046.409.62)
   o wl3501: introduce struct iw_mgmt_cf_pset
   
   Just for completeness, it is included in the mgmt frames, but
   not used in this driver, i.e. it may well be that this driver
   supports contention free service, but the original driver had
   no use for it at all.

<acme@conectiva.com.br> (03/07/20 1.1046.409.61)
   o wl3501: introduce iw_mgmt_ibss_pset

<acme@conectiva.com.br> (03/07/20 1.1046.409.60)
   o wl3501: fix bug in iw_mgmt_info_element id field and more
   
   . unfortunately we can't use enum iw_mgmt_info_element_ids for the
     id field in iw_mgmt_info_element, as it has to be u8 and sizeof(enum)
     is bigger than that, but we use the enum in the relevant functions to
     help catch invalid elements being used.
   . also we can't have iw_mgmt_info_element with a fixed size data field,
     as it is variable as per the 802.11 specs, so I do a poor man's OOP
     by subclassing iw_mgmt_info_element into the standard element types. Done
     up to now with iw_mgmt_essid_pset and iw_mgmt_ds_pset, others will follow.

<acme@conectiva.com.br> (03/07/19 1.1046.409.59)
   o wl3501: fix set_essid wireless extension, using the flags for any

<acme@conectiva.com.br> (03/07/19 1.1046.409.58)
   o wl3501: use iw_mgmt_info_element for phy_pset (now ds_parameter_set)
   
   Clarifying stuff is good: with this I have fixed a bug in join, where
   the element id and size were not being set... longstanding one, since
   original driver times...

<acme@conectiva.com.br> (03/07/19 1.1046.409.57)
   o wl3501: introduce iw_mgmt_info_element & associate functions and enums
   
   Also aimed at inclusion on the core wireless extensions, with this we are
   closer to 802.11 specs with regards to frame management elements stuff.
   Next patches will deal with other elements that are done in a raw way such
   as the phys parameter set (DS in this driver).


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [bk patches] 2.6.x net driver updates
@ 2003-09-20 19:27 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2003-09-20 19:27 UTC (permalink / raw)
  To: torvalds; +Cc: netdev, linux-kernel

First queue push after return from Silly Valley.


Linus, please do a

	bk pull bk://kernel.bkbits.net/jgarzik/net-drivers-2.5

Patch is also available at:

ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-test5-bk7-netdrvr1.patch.bz2

This will update the following files:

 drivers/net/irda/smc-ircc.c           | 1258 ----------------------------------
 drivers/net/irda/toshoboe.c           |  957 -------------------------
 Documentation/networking/bonding.txt  |    4 
 drivers/net/3c501.c                   |    6 
 drivers/net/3c505.c                   |   12 
 drivers/net/3c515.c                   |    1 
 drivers/net/Space.c                   |    4 
 drivers/net/acenic.c                  |    3 
 drivers/net/bonding/bond_alb.c        |  150 +++-
 drivers/net/bonding/bond_alb.h        |    8 
 drivers/net/bonding/bond_main.c       | 1202 ++++++++++++++++++++------------
 drivers/net/bonding/bonding.h         |    4 
 drivers/net/cs89x0.c                  |    1 
 drivers/net/depca.c                   |  944 ++++++++++++-------------
 drivers/net/e1000/e1000_main.c        |   13 
 drivers/net/eepro.c                   |    6 
 drivers/net/ewrk3.c                   |    5 
 drivers/net/hamradio/baycom_par.c     |    1 
 drivers/net/hamradio/baycom_ser_fdx.c |    1 
 drivers/net/hamradio/baycom_ser_hdx.c |    1 
 drivers/net/hamradio/hdlcdrv.c        |    1 
 drivers/net/hamradio/scc.c            |  208 +++--
 drivers/net/hamradio/yam.c            |    1 
 drivers/net/ibmlana.c                 |    1 
 drivers/net/irda/Kconfig              |   24 
 drivers/net/irda/Makefile             |    2 
 drivers/net/irda/ali-ircc.c           |   84 --
 drivers/net/irda/donauboe.c           |   50 -
 drivers/net/irda/irda-usb.c           |   44 -
 drivers/net/irda/nsc-ircc.c           |   78 --
 drivers/net/irda/sir_kthread.c        |    4 
 drivers/net/irda/via-ircc.c           |   92 --
 drivers/net/irda/w83977af_ir.c        |   54 -
 drivers/net/lance.c                   |   10 
 drivers/net/mace.c                    |    1 
 drivers/net/ne2.c                     |    1 
 drivers/net/ni5010.c                  |    5 
 drivers/net/ni52.c                    |    5 
 drivers/net/ni65.c                    |    1 
 drivers/net/ns83820.c                 |   10 
 drivers/net/pcmcia/com20020_cs.c      |   41 -
 drivers/net/rcpci45.c                 |    4 
 drivers/net/rrunner.c                 |   17 
 drivers/net/rrunner.h                 |    1 
 drivers/net/sb1000.c                  |    1 
 drivers/net/sis900.c                  |    1 
 drivers/net/sk98lin/h/skdrv1st.h      |    4 
 drivers/net/sk98lin/skge.c            |    1 
 drivers/net/sk_mca.h                  |    2 
 drivers/net/skfp/h/targetos.h         |    1 
 drivers/net/smc9194.c                 |    1 
 drivers/net/tokenring/lanstreamer.h   |    2 
 drivers/net/tokenring/proteon.c       |    2 
 drivers/net/tokenring/skisa.c         |    2 
 drivers/net/tokenring/smctr.c         |    1 
 drivers/net/tokenring/tms380tr.c      |    1 
 drivers/net/wan/comx-hw-comx.c        |    1 
 drivers/net/wan/comx-hw-locomx.c      |    1 
 drivers/net/wan/comx-hw-mixcom.c      |    1 
 drivers/net/wan/comx-hw-munich.c      |    1 
 drivers/net/wan/comx-proto-fr.c       |    1 
 drivers/net/wan/comx-proto-lapb.c     |    1 
 drivers/net/wan/comx-proto-ppp.c      |    1 
 drivers/net/wan/comx.c                |    1 
 drivers/net/wan/cycx_x25.c            |    1 
 drivers/net/wan/dlci.c                |    1 
 drivers/net/wan/dscc4.c               |    1 
 drivers/net/wan/lmc/lmc_ver.h         |    2 
 drivers/net/wan/pc300_drv.c           |    1 
 drivers/net/wan/pc300_tty.c           |    1 
 drivers/net/wan/sbni.c                |   20 
 drivers/net/wan/sdla_chdlc.c          |    1 
 drivers/net/wan/sdla_fr.c             |    1 
 drivers/net/wan/sdla_ft1.c            |    1 
 drivers/net/wan/sdla_ppp.c            |    1 
 drivers/net/wan/sdla_x25.c            |    1 
 drivers/net/wan/sdladrv.c             |    1 
 drivers/net/wan/sdlamain.c            |    1 
 drivers/net/wan/sealevel.c            |  157 ++--
 drivers/net/wan/wanpipe_multppp.c     |    1 
 drivers/net/wd.c                      |    5 
 drivers/net/wireless/airo.c           |   11 
 drivers/net/wireless/arlan-proc.c     |    3 
 drivers/net/wireless/arlan.c          |    1 
 drivers/net/wireless/arlan.h          |    1 
 drivers/net/wireless/strip.c          |    1 
 include/net/syncppp.h                 |    7 
 87 files changed, 1799 insertions(+), 3769 deletions(-)

through these ChangeSets:

<shemminger@osdl.org> (03/09/20 1.1386)
   [PATCH] Road Runner HIPPI driver (rrunner)
   
   Small clean up, to use current APIs.

<achirica@telefonica.net> (03/09/20 1.1385)
   [wireless airo] Fix MIC support with CryptoAPI

<achirica@telefonica.net> (03/09/20 1.1384)
   [wireless airo] fix PCI probe

<jochen@scram.de> (03/09/20 1.1383)
   [tokenring] fix breakage in proteon, skisa
   
   this one fixes both drivers. They have been broken since the
   reorganization in June. Unfortunately, my major build platform (alpha) had
   some issues with later 2.5.X kernels (cache problems causing all kind of
   funny behaviour), so i waited until these problems had been resolved by
   the alpha gurus :-/...
   
   In the mean time i also upgraded pine. I hope the patch corruption issue
   is resolved by now.
   

<shemminger@osdl.org> (03/09/20 1.1382)
   [PATCH] hamradio/scc -
   
   Update hamradio/scc for 2.6.0-test5
   	- use seq_file for /proc
   	- get rid of dev_get()
   	- use alloc_netdev
   
   Don't have hardware, but can load/unload the module fine.

<amir.noam@intel.com> (03/09/20 1.1381)
   [PATCH] [bonding] Convert /proc to seq_file
   
   This patch converts /proc/net/bondX/info into /proc/net/bonding/bondX
   using the seq_file interface.
   
   This is based on Stephen's recent patch, but slightly modified to work
   with the propagation patch set and with some locking changes to make it
   simpler.
   
   The patch applies both on 2.4 (after the sync set from earlier today)
   and on 2.6 (after the propagation set from 2003/11/9).
   
   Amir

<bunk@fs.tum.de> (03/09/20 1.1380)
   [PATCH] fix sbni.c compile with gcc 3.3
   
   sbni.c in 2.6.0-test5 fails to compile with gcc 3.3 with the following
   error:
   
   <--  snip  -->
   
   ...
     CC      drivers/net/wan/sbni.o
   ...
   drivers/net/wan/sbni.c: In function `calc_crc32':
   drivers/net/wan/sbni.c:1568: error: asm-specifier for variable `_crc'
   conflicts with asm clobber list
   make[3]: *** [drivers/net/wan/sbni.o] Error 1
   
   <--  snip  -->
   
   Below is the patch by Margit Schubert-White to fix this issue (it is
   already in 2.4).
   
   cu
   Adrian

<akpm@osdl.org> (03/09/20 1.1379)
   [PATCH] e1000 bug
   
   Rick Lindsley <ricklind@us.ibm.com> wrote:
   >
   > since it's been out for a while you probably already know, but the patch
   > for e1000_main.c has a bug in it.  Looks like it will fail at line 1550 if
   > compiled with NETIF_F_TSO defined.
   >
   
   So it will.  I blame the gcc developers.
   
    25-akpm/drivers/net/e1000/e1000_main.c |   13 +++++++++----
    1 files changed, 9 insertions(+), 4 deletions(-)

<amir.noam@intel.com> (03/09/20 1.1378)
   [PATCH] [bonding 2.6] Fix ipx_hdr compile error

<amir.noam@intel.com> (03/09/20 1.1377)
   [PATCH] [bonding 2.6] Add missing free_netdev()

<amir.noam@intel.com> (03/09/20 1.1376)
   [PATCH] [bonding 2.6] Enhance netdev notification handling

<amir.noam@intel.com> (03/09/20 1.1375)
   [PATCH] [bonding 2.6] Consolidate /proc code, add CHANGENAME handler

<amir.noam@intel.com> (03/09/20 1.1374)
   [PATCH] [bonding 2.6] Add support for changing HW address in ALB/TLB modes

<amir.noam@intel.com> (03/09/20 1.1373)
   [PATCH] [bonding 2.6] Add support for changing HW address and MTU

<amir.noam@intel.com> (03/09/20 1.1372)
   [PATCH] [bonding 2.6] Decouple promiscuous handling from multicast mode setting

<amir.noam@intel.com> (03/09/20 1.1371)
   [PATCH] [bonding 2.6] fix assign_current_slave

<amir.noam@intel.com> (03/09/20 1.1370)
   [PATCH] [bonding 2.6] consolidate change_active operations

<shemminger@osdl.org> (03/09/20 1.1369)
   [PATCH] update arcnet/pcmcia driver
   
   Redo of earlier patch to get rid of MOD_INC/DEC and use alloc_netdev.
   This is against 2.6.0-test5 bk latest.

<shemminger@osdl.org> (03/09/20 1.1368)
   [PATCH] sealevel wan driver
   
   Update sealevel driver to match current net_device interface:
   	- dynamically allocate netdevice and private data.
   	- get rid of MOD_INC/DEC
   	- if_ptr not used
   	- bugfix: not all of board structure was being zeroed.
   
   Note: this driver still doesn't probe() correctly since it just assumes that
   if loaded the hardware is there!
   
   Since I don't have one of these boards...
   tested it by #ifdef'ing out all the bits that touch actual hardware.

<shemminger@osdl.org> (03/09/20 1.1367)
   [IrDA] ali-ircc -- dev_alloc cleanout
   
   Convert ali-ircc driver to:
   	- use alloc_net_dev not dev_alloc
   	- allocate private data at same time
   	- cleanup error unwinds
   	- call free_netdev.
   
   Builds and loads, but don't have real hardware.

<shemminger@osdl.org> (03/09/20 1.1366)
   [IrDA] via-ircc -- dev_alloc cleanout
   
   Convert via-ircc 2.6.0-test5
   	- use alloc_net_dev not dev_alloc
   	- allocate private data at same time
   	- cleanup error unwinds
   	- call free_netdev.
   
   Builds and loads, but don't have real hardware.

<shemminger@osdl.org> (03/09/20 1.1365)
   [IrDA] nsc-ircc -- dev_alloc cleanout
   
   Cleanup nsc-ircc driver for 2.6.0-test5
   	- replace dev_alloc with alloc_netdev
   	- use private data allocated with alloc_netdev
   	- error unwind cleanup

<shemminger@osdl.org> (03/09/20 1.1364)
   [IrDA] donahoboe -- dev_alloc cleanout
   
   Fixes for donauboe for 2.6.0-test5
   	- replace dev_alloc with alloc_netdev
   	- error unwind cleanup

<shemminger@osdl.org> (03/09/20 1.1363)
   [IrDA] w83977af -- dev_alloc cleanout
   
   Yet another irda driver cleanup for 2.6.0-test5
   	- replace dev_alloc with alloc_netdev
   	- use private data allocated with alloc_netdev
   	- use free_netdev

<shemminger@osdl.org> (03/09/20 1.1362)
   [IrDA] irda-usb -- dev_alloc cleanout
   
   Update irda-usb for 2.6.0-test5
   	- use alloc_netdev (but can't use dev->priv area cause that is allocated elsewhere).

<rddunlap@osdl.org> (03/09/20 1.1361)
   [PATCH] janitor: ns83820 error handling
   
   Subject: Re: [Kernel-janitors] [PATCH] insert missing free_irq and fix 	cleanup path
   From: Leann Ogasawara <ogasawara@osdl.org>
   
   On Thu, 2003-09-04 at 13:17, Benjamin LaHaise wrote:
   > The if()s before free are redundant, turf them and it's good.

<rddunlap@osdl.org> (03/09/20 1.1360)
   [PATCH] janitor: insert a missing iounmap()
   
   From: Leann Ogasawara <ogasawara@osdl.org>
   Subject: [Kernel-janitors] [PATCH] insert missing iounmap()
   
   Patch inserts a missing iounmap().

<shemminger@osdl.org> (03/09/20 1.1359)
   [PATCH] get rid of old IRDA drivers.
   
   According to Jean the toshoboe and old smc ircc drivers are no longer needed.
   This patch removes them from 2.6.0-test5

<chrisw@osdl.org> (03/09/20 1.1358)
   [netdrvr] use cpu_relax() in busy loop, or mdelay instead of busy loop
   
   Replace busy loop nop with cpu_relax(), and just use mdelay where it's better.

<rddunlap@osdl.org> (03/09/20 1.1357)
   [PATCH] janitor: remove (or add) unneeded includes (drivers/net/)
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1356)
   [PATCH] janitor: remove unneeded includes (hamradio)
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1355)
   [PATCH] janitor: remove (or add) unneeded includes (wireless)
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1354)
   [PATCH] janitor: remove unneeded includes (skfp)
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1353)
   [PATCH] janitor: remove (or add) unneeded includes
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1352)
   [PATCH] janitor: remove unneeded includes (sk98lin)
   
   From: Randy Hron <rwhron@earthlink.net>

<rddunlap@osdl.org> (03/09/20 1.1351)
   [PATCH] janitor: remove unneeded includes (tokenring)
   
   From: Randy Hron <rwhron@earthlink.net>

<shemminger@osdl.org> (03/09/20 1.1350)
   [PATCH] replace sppp_of macro with inline
   
   Replace macro with inline and get some type checking.

<felipewd@terra.com.br> (03/09/20 1.1349)
   [PATCH] Unneeded memory barrier in net/irda code

<mzyngier@freesurf.fr> (03/09/20 1.1348)
   [PATCH] depca update
   
   I finally found some time to hack the depca driver, in basically the
   same way I did with the de4x5 driver. The patch is quite big (shuffles
   a lot of code around, removes lots of global variables), mainly in
   order to use the driver model on every bus supported by this driver.
   
   I also removed the probing from Space.c, so the usual warning about
   device renumbering applies.
   
   Tested on alpha (DE422, EISA) and i386 (two DE201, ISA), built-in and
   modular. The MCA part is completly untested, since I lack the hardware
   (no, I do not own every single piece of junk hardware out
   there... ;-).


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [bk patches] 2.6.x net driver updates
@ 2003-09-26  1:02 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2003-09-26  1:02 UTC (permalink / raw)
  To: torvalds; +Cc: netdev, linux-kernel


Linus, please do a

	bk pull bk://kernel.bkbits.net/jgarzik/net-drivers-2.5

This will update the following files:

 drivers/net/wireless/arlan.c          | 2078 ------------------------------
 Documentation/networking/sk98lin.txt  |  140 --
 drivers/net/3c503.c                   |    9 
 drivers/net/3c509.c                   |    9 
 drivers/net/8390.c                    |   11 
 drivers/net/Kconfig                   |  170 --
 drivers/net/ac3200.c                  |   10 
 drivers/net/appletalk/Kconfig         |    6 
 drivers/net/arcnet/Kconfig            |   40 
 drivers/net/e2100.c                   |   10 
 drivers/net/hamradio/Kconfig          |   41 
 drivers/net/hamradio/baycom_epp.c     |   79 -
 drivers/net/hamradio/baycom_par.c     |   57 
 drivers/net/hamradio/baycom_ser_fdx.c |   60 
 drivers/net/hamradio/baycom_ser_hdx.c |   57 
 drivers/net/hamradio/hdlcdrv.c        |   90 -
 drivers/net/hp-plus.c                 |   11 
 drivers/net/hp.c                      |   11 
 drivers/net/ne.c                      |    9 
 drivers/net/ne2.c                     |    8 
 drivers/net/ne2k-pci.c                |   49 
 drivers/net/ne2k_cbus.c               |   55 
 drivers/net/pcmcia/Kconfig            |   69 -
 drivers/net/saa9730.c                 |  201 ++
 drivers/net/saa9730.h                 |    1 
 drivers/net/sk98lin/h/skdrv1st.h      |    7 
 drivers/net/sk98lin/h/skdrv2nd.h      |   24 
 drivers/net/sk98lin/h/skgeinit.h      |   19 
 drivers/net/sk98lin/h/sktypes.h       |    7 
 drivers/net/sk98lin/h/skversion.h     |   31 
 drivers/net/sk98lin/skdim.c           |   18 
 drivers/net/sk98lin/skge.c            |  350 +++--
 drivers/net/sk98lin/skproc.c          |  325 +---
 drivers/net/smc-ultra.c               |   13 
 drivers/net/tlan.c                    |    7 
 drivers/net/tokenring/Kconfig         |   66 
 drivers/net/tulip/Kconfig             |   48 
 drivers/net/wan/Kconfig               |  111 -
 drivers/net/wd.c                      |   10 
 drivers/net/wireless/Kconfig          |   32 
 drivers/net/wireless/Makefile         |    4 
 drivers/net/wireless/arlan-main.c     | 2329 +++++++++++++++++++++++++++++++---
 drivers/net/wireless/arlan-proc.c     |   25 
 drivers/net/wireless/arlan.h          |  106 -
 drivers/net/wireless/atmel.c          |    2 
 drivers/net/wireless/atmel_cs.c       |    4 
 include/linux/hdlcdrv.h               |    1 
 47 files changed, 3157 insertions(+), 3663 deletions(-)

through these ChangeSets:

<trivial@rustcorp.com.au> (03/09/25 1.1357)
   [PATCH] [PATCH 2.6.0-test1] remove check_region from drivers_net_3c509.c
   
   From:  Domen Puncer <root@coderock.org>

<buffer@antifork.org> (03/09/25 1.1356)
   [PATCH] saa9730 (minor revision)
   
   Don't know if the patch I released few days ago was still
   applied. This is a minor revision of that patch which converts
   saa9730 to spinlocks thus removing save_and_cli() and
   restore_flags() calls.
   
   Regards,
   Angelo Dell'Aera

<simon@thekelleys.org.uk> (03/09/25 1.1355)
   [PATCH] - atmel wireless driver
   
   This does two things:
   
   1) Fix alignment problem on PARISC64 (and maybe other 64bit archs.)
   2) Add another couple of cards to the table.
   
   Cheers,
   
   Simon.

<p_gortmaker@yahoo.com> (03/09/25 1.1354)
   [PATCH] Remove emacs cruft from 8390 drivers

<p_gortmaker@yahoo.com> (03/09/25 1.1353)
   [PATCH] ne2k_cbus tidy up

<p_gortmaker@yahoo.com> (03/09/25 1.1352)
   [PATCH] ne2k-pci full duplex with RealTek

<shemminger@osdl.org> (03/09/25 1.1351)
   [PATCH] (3/4) baycom/hdlcdrv unregister
   
   If baycom driver has never been opened, it will attempt to free
   an IRQ that it never registered when removed.  The problem is that hdlcdrv
   does not keep track of open/close state.

<shemminger@osdl.org> (03/09/25 1.1350)
   [PATCH] (2/4) baycom c99 initializers

<shemminger@osdl.org> (03/09/25 1.1349)
   [PATCH] (1/4) Update baycom drivers for 2.6
   
   Update baycom drivers for 2.6.0-test5
   	- get rid of MOD_INC/DEC
   	    (looked into hdlcdrv_ops and don't need to have owner field because
   	     baycom drivers unregister on  unload).
   	- use alloc_netdev instead of static device structures.
   	- hdlcdrv_register returns device instead of getting passed one.
   	- put private data in space allocated at dev->priv in alloc_netdev
   	- shorten name of hdlcdrv_register_hdlcdrv to hdlcdrv_register
   
   I don't have actual baycom hardware, but driver builds and loads/unloads.
   Real hardware initialization doesn't happen until open.
   
   The first one is the important patch, the other three are just code review
   type cleanups.

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.23)
   [PATCH] Remove modules.txt drivers_net_pcmcia_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.22)
   [PATCH] Remove modules.txt drivers_net_wan_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.21)
   [PATCH] Remove modules.txt drivers_net_tokenring_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.20)
   [PATCH] Remove modules.txt drivers_net_hamradio_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>
   
     Cheers, n.

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.19)
   [PATCH] Remove modules.txt drivers_net_arcnet_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.18)
   [PATCH] Remove modules.txt drivers_net_wireless_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.17)
   [PATCH] Remove modules.txt drivers_net_tulip_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<trivial@rustcorp.com.au> (03/09/25 1.1325.8.16)
   [PATCH] Remove modules.txt drivers_net_appletalk_Kconfig
   
   From:  Nicolas Kaiser <nikai@nikai.net>

<mlindner@syskonnect.de> (03/09/25 1.1325.8.15)
   [netdrvr sk98lin] fix leaks on error, and related cleanups

<mlindner@syskonnect.de> (03/09/25 1.1325.8.14)
   [netdrvr sk98lin] bump version number

<mlindner@syskonnect.de> (03/09/25 1.1325.8.13)
   [netdrvr sk98lin] small fixes
   
   Patch 3/5 (Update to version 6.17)
   * Add: Removed SkNumber and SkDoDiv
   * Add: Counter output as (unsigned long long)

<mlindner@syskonnect.de> (03/09/25 1.1325.8.12)
   [netdrvr sk98lin] update readme, remove old changelog

<mlindner@syskonnect.de> (03/09/25 1.1325.8.11)
   [netdrvr sk98lin] small updates
   
   
   Patch 1/5 (Update to version 6.17)
   * Add: Better parameter check
   * Add: UDP and TCP HW Csum changes
   * Add: Interrupt Moderation infos

<shemminger@osdl.org> (03/09/25 1.1325.8.10)
   [PATCH] (8/8) arlan -- proper jiffies usage
   
   Add proper management of jiffies and time values, rather than punting
   and doing long long arithmetic on usecs.

<shemminger@osdl.org> (03/09/25 1.1325.8.9)
   [PATCH] (7/8) arlan -- more dead wood removal
   
   Still more driver data which was updated but never used.

<shemminger@osdl.org> (03/09/25 1.1325.8.8)
   [PATCH] (6/8) arlan -- add spinlock
   
   Convert bogus test_and_set local wait, to a real spin_lock so it
   has a chance of working on an SMP.  This also does the right thing
   and locks out interrupts while giving commands on UP;  maybe the
   comment in Kconfig was because there was never a proper mutex...
   
   Don't have real hardware to try this, but it can't be worse than
   the previous code.

<shemminger@osdl.org> (03/09/25 1.1325.8.7)
   [PATCH] (5/8) arlan -- more set never used elements
   
   Still more places state is saved and never used.

<shemminger@osdl.org> (03/09/25 1.1325.8.6)
   [PATCH] (4/8) arlan -- trailing semicolons.
   
   Get rid of extra trailing semicolons

<shemminger@osdl.org> (03/09/25 1.1325.8.5)
   [PATCH] (3/8) arlan -- get rid of unnecessary casts.
   
   Get rid of unneeded casts to cleanup readability.

<shemminger@osdl.org> (03/09/25 1.1325.8.4)
   [PATCH] (2/8) arlan -- get rid of some dead wood
   
   This code is littered with unused structure elements and globals.
   Eliminate some of the fields set and never used.
   
   More in later patches.

<shemminger@osdl.org> (03/09/25 1.1325.8.3)
   [PATCH] (1/8) arlan -- merge arlan-proc with main code
   
   The arlan driver tries to build it's /proc interface into a separate module,
   which leads to circular dependencies and other ugliness.  This patch
   moves arlan.c to arlan-main.c and changes initialization builds one module arlan.o
   
   Patch is for 2.6.0-test5

<mpm@selenic.com> (03/09/24 1.1325.8.2)
   [netdrvr tlan] netif_carrier_* support

<mlindner@syskonnect.de> (03/09/24 1.1325.8.1)
   [netdrvr sk98lin] Remove useless configure options
   
   here is a new version of the sk98lin driver (v6.18) with some changes
   for kernel 2.6.0-test4. This is a diff between the latest patched kernel
   version with sk98lin driver v6.17.
   
   Patch 1/3
   * Remove bogus config stuff


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [BK PATCHES] 2.6.x net driver updates
@ 2003-09-27 11:55 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2003-09-27 11:55 UTC (permalink / raw)
  To: torvalds; +Cc: netdev, linux-kernel

This should fix the build.  Only thing left not building is g_ncr5380...



Linus, please do a

	bk pull bk://kernel.bkbits.net/jgarzik/net-drivers-2.5

This will update the following files:

 drivers/usb/net/Makefile.mii      |    6 
 drivers/net/Kconfig               |   11 
 drivers/net/Makefile              |   28 --
 drivers/net/e100/e100.h           |    1 
 drivers/net/e100/e100_config.c    |    2 
 drivers/net/e100/e100_config.h    |    1 
 drivers/net/e100/e100_main.c      |   49 +---
 drivers/net/e1000/e1000.h         |    8 
 drivers/net/e1000/e1000_ethtool.c |   14 -
 drivers/net/e1000/e1000_hw.c      |   39 +--
 drivers/net/e1000/e1000_hw.h      |    2 
 drivers/net/e1000/e1000_main.c    |   90 ++++---
 drivers/net/e1000/e1000_osdep.h   |    2 
 drivers/net/hamradio/baycom_epp.c |    4 
 drivers/net/pcmcia/Kconfig        |    1 
 drivers/net/pcmcia/smc91c92_cs.c  |    8 
 drivers/net/sk98lin/skdim.c       |    5 
 drivers/net/sk98lin/skge.c        |  103 +++-----
 drivers/net/sk98lin/skproc.c      |  463 ++++++++++++++++----------------------
 drivers/net/tulip/Kconfig         |    1 
 drivers/net/wan/sealevel.c        |   36 +-
 drivers/net/wan/z85230.c          |   58 ++--
 drivers/net/wireless/orinoco.c    |    4 
 drivers/usb/net/Kconfig           |    2 
 24 files changed, 447 insertions(+), 491 deletions(-)

through these ChangeSets:

<bunk@fs.tum.de> (03/09/27 1.1371)
   [PATCH] select MII
   
   The patch below switches MII to be select'ed instead of including it in
   the Makefile.
   
   Note that this patch requires a recent Linus' tree with the select CRC32
   patch included.
   
   diffstat output:
   
    drivers/net/Kconfig          |   11 +++++++++++
    drivers/net/Makefile         |   28 +++++++++++-----------------
    drivers/net/pcmcia/Kconfig   |    1 +
    drivers/net/tulip/Kconfig    |    1 +
    drivers/usb/net/Kconfig      |    2 ++
    drivers/usb/net/Makefile.mii |    6 ------
    6 files changed, 26 insertions(+), 23 deletions(-)
   
   
   Tangential to the patch I observed a small problem (not fixed in the patch):
   MII depends on NET_ETHERNET, but USB_PEGASUS and USB_USBNET depend
   only on NET.
   
   cu
   Adrian

<shemminger@osdl.org> (03/09/27 1.1370)
   [PATCH] wan/z8530 deadlocks
   
   Existing code for drivers/net/wan/z8530 is riddled with self-deadlocks
   and irq flag confusion.  For example:
   	z8530_init -> do_z8530_init -> write_zsreg
   self deadlocks on the channel lock.
   
   Several places acquire both the channel and dma lock and then
   reuse the same irq flags variable - ouch.
   
   This code at least, correctly probes (for no device case) on SMP.
   Other paths verified by inspection.

<shemminger@osdl.org> (03/09/27 1.1369)
   [PATCH] sealevel -- syncppp startup fix
   
   The sealevel driver called sppp_attach before checking that board existed
   and never called detach in the error path.
   
   My change is to call sppp_attach from the netdev->init hook which happens
   later in the process, and call detach from the uninit hook.
   
   Also, changed the structure element 'netdev' to 'pppdev' to avoid confusion.
   
   Here is the fix against 2.6.0-test5 latest

<komujun@nifty.com> (03/09/27 1.1368)
   [netdrvr smc91c92_cs] select proper bank for MII registers

<komujun@nifty.com> (03/09/27 1.1367)
   [netdrvr] build fixes
   
   For e1000 and baycom_epp.
   
   Contributed by Jeff Garzik.

<rddunlap@osdl.org> (03/09/27 1.1366)
   [PATCH] janitor: e100: cleanup #includes
   
   Hi,
   Please apply to 2.6.0-test5-current.
   
   Thanks,
   --
   ~Randy
   
   
   From: Randy Hron <rwhron@earthlink.net>
   
   
   Remove unneeded include of version.h.
   Test compiled against 2.6.0-test5-bk9.
   
   
    linux-260-t5bk12-kj-rddunlap/drivers/net/e100/e100.h |    1 -
    1 files changed, 1 deletion(-)

<rddunlap@osdl.org> (03/09/27 1.1365)
   [PATCH] janitor: hermes: delete verify_area call
   
   Hi,
   Please apply to 2.6.0-test5-current.
   
   Thanks,
   --
   ~Randy
   
   
   From: Domen Puncer <domen@coderock.org>
   
   IMO, that verify_area wasn't needed.
   
   
   
    linux-260-t5bk12-kj-rddunlap/drivers/net/wireless/orinoco.c |    4 ----
    1 files changed, 4 deletions(-)

<scott.feldman@intel.com> (03/09/27 1.1364)
   [e100] trying to pci_alloc before pci_enable
   
   * Some archs don't like calling pci_alloc_consistent before calling
   pci_enable_device.  (Imagine that).  This corrects that.

<scott.feldman@intel.com> (03/09/27 1.1363)
   [e100] h/w can't do IPv6 checksum offloading
   
   * Driver was advertising HW_CSUM, but hardware is only capable of IP_CSUM.

<scott.feldman@intel.com> (03/09/27 1.1362)
   [e100] PRO/10+ not configured properly
   
   * PRO/10+ (10 Mbps-only card) was not configured properly so it didn't
   pass traffic.

<scott.feldman@intel.com> (03/09/27 1.1361)
   [e1000] misc
   
   * removed unused var, ASSERT macro
   * missed a free_netdev() in probe cleanup undo.

<scott.feldman@intel.com> (03/09/27 1.1360)
   [e1000] better propagation of error codes
   
   * Better propagation of error codes during probe/open paths.
     {Janice Girouard (janiceg@us.ibm.com)]

<scott.feldman@intel.com> (03/09/27 1.1359)
   [e1000] force 1000/full on SERDES connected to back-plane
   
   * Bug fix: SERDES devices might be connected to back-plan switch that
     doesn't support auto-neg, so add the capability to force 1000/full.

<scott.feldman@intel.com> (03/09/27 1.1358)
   [e1000] flow control updates
   
   * handle ethtool force flow control
   * correctly set flow control hi/low watermarks based on size of Rx FIFO
     area.  The size can change if doing Jumbo Frames or, in the case of
     82547, is smaller to start with.
   * was not properly forcing flow control settings to fc_none if using
     strict IEEE flow control override.

<shemminger@osdl.org> (03/09/27 1.1357)
   [netdrvr sk98lin] use seq_file for /proc
   
   Replace proc_read with seq_file interface which is much cleaner.
   
   Also, instead of searching the list of devices looking for the
   name which is slow and would break if interface name changes;
   store a pointer to device in the proc entry, and retrieve
   it from the information saved by single_open.
   
   Formatting and other behaviours are retained.

<shemminger@osdl.org> (03/09/27 1.1356)
   [netdrvr skge] handle proc_fs errors.
   
   Existing code does not
   	- check if proc_fs functions return error.
   	- use proc_mkdir to make the directory.
   
   Note pSkRootDir defined twice.

<shemminger@osdl.org> (03/09/27 1.1355)
   [netdrvr sk98lin] build on smp fix
   
   There is no exported variable called smp_num_cpus! so this driver
   won't build on SMP.  Since the local variable is never used anyway
   just get rid of it.
   
   This applies against 2.6.0-test5-bk13 which has the last vendor
   driver update.


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [BK PATCHES] 2.6.x net driver updates
@ 2003-10-14 19:06 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2003-10-14 19:06 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, netdev

I've tried to keep it to fixes, and created a separate queue
(net-drivers-2.[45]-exp) for non-fixes.

Linus, please do a

	bk pull bk://kernel.bkbits.net/jgarzik/net-drivers-2.5

This will update the following files:

 drivers/net/8139too.c           |    2 +
 drivers/net/Kconfig             |    4 +--
 drivers/net/b44.c               |   15 +++---------
 drivers/net/defxx.c             |    4 +--
 drivers/net/e1000/e1000_main.c  |   35 ++++++++++++++++++++++------
 drivers/net/hamradio/bpqether.c |    6 ----
 drivers/net/hamradio/scc.c      |    4 +--
 drivers/net/hp100.c             |   10 ++++----
 drivers/net/natsemi.c           |    2 -
 drivers/net/pcmcia/pcnet_cs.c   |   23 ++++++++++++------
 drivers/net/tulip/tulip_core.c  |    1 
 drivers/net/tulip/xircom_cb.c   |   35 ++++++++++++++--------------
 drivers/net/wireless/atmel.c    |    1 
 drivers/net/wireless/atmel_cs.c |   11 +++++---
 include/linux/ethtool.h         |   11 ++++----
 net/core/ethtool.c              |   49 ++++++++++++++++++++++++----------------
 16 files changed, 123 insertions(+), 90 deletions(-)

through these ChangeSets:

<pp@ee.oulu.fi> (03/10/14 1.1370)
   [PATCH] b44 enable interrupts after tx timeout (2.6-test version)
   
   Resending the patch I sent some time ago for b44.c that nukes the
   2.4 compatibility cruft as well.
   
   I'll do one for 2.4.23pre6 ASAP, hopefully being able sync the driver fully
   with the one in 2.6 (free_netdev() etc.).

<manfred@colorfullife.com> (03/10/14 1.1369)
   [netdrvr natsemi] fix ring clean
   
   Too much copy&paste in a call to pci_unmap_single.

<jgarzik@redhat.com> (03/10/14 1.1368)
   [netdrvr tulip] add pci id
   
   Contributed by Ken Zalewski.

<simon@thekelleys.org.uk> (03/10/14 1.1367)
   [PATCH] - atmel wireless driver
   
   1) Remove "#include <linux/version.h>" which was not needed and added
      bad extra compile dependencies.
   
   2) Fix typo in module description.
   
   3) Make card detection code cope with buggy SMC CIS entries.

<jgarzik@redhat.com> (03/10/14 1.1366)
   [netdrvr 8139too] another new PCI ID
   
   Contributed by Josh Litherland, Donald Becker, and others.

<jgarzik@redhat.com> (03/10/14 1.1365)
   [netdrvr 8139too] add pci id
   
   contributed by "JaReK" and Donald Becker.

<scott.feldman@intel.com> (03/10/14 1.1364)
   [PATCH] hang on ZEROCOPY/TSO when hitting no-Tx-resources
   
   * Critical bug fix: under heavy Tx stress using ZEROCOPY or TSO, if we
     ran out of Tx descriptors, we didn't calculate for the context
     descritor used as the first of the ZEROCOPY/TSO send, nor do we clean
     up the context desriptor bits in the case where the send isn't going
     to fit, where we need to undo the mappings.  This bug was introduced
     with the 5.2.16 patch set which included a workaround for a hang
     on 82544 over PCI-X.  This workaround cause the check for no-Tx-
     rosource logic to change, and this bug slipped in.

<ak@muc.de> (03/10/14 1.1363)
   [PATCH] Fix warnings in defxx.c
   
   Fix harmless 64bit warnings in defxx.c

<ak@muc.de> (03/10/14 1.1362)
   [PATCH] Fix warnings in hp100
   
   Fix some harmless integer/pointer size mismatch warnings in hp100.c
   on 64bit compiles

<ak@muc.de> (03/10/14 1.1361)
   [PATCH] Mark non 64bit clean network drivers
   
   This marks some net drivers which are clearly not 64bit (judging from
   the warnings) as !64BIT.
   
   -Andi

<pe1rxq@amsat.org> (03/10/14 1.1360)
   [hamradio bpqether] fix ancient debug line
   
   removes a verry old debug line from the bpqethernet driver that
   only fills logs.

<pe1rxq@amsat.org> (03/10/14 1.1359)
   [hamradio scc] fix probe function
   
   fix for the probe function of the scc driver which now uses
   an uninitialised scc struct for requesting an io region.

<scott.feldman@intel.com> (03/10/14 1.1358)
   [PATCH] ethtool_ops eeprom stuff
   
   Finally got around to adding ethtool_ops to e100-3.0.x.  I found a bug
   with get_eeprom() and it seems to work best if we add get_eeprom_len() to
   the ops list.  Also moved check for offest + len < size into ethtool.c.
   
   I was able to test [GS]EEPROM, PHYS_ID, GSTATS, GSTRINGS, and TEST, and
   everything looks good.
   
   Should I send same for 2.4?

<rmk+lkml@arm.linux.org.uk> (03/10/14 1.1357)
   [PATCH] Fix pcnet_cs network hotplug
   
   pcnet_cs registers the network device too early.  The effect of this
   is that the networking hotplug scripts are unable to bring the device
   up automatically.
   
   There are two issues:
   - we were registering the net device before we finished setting up
     the device (eg, reading the MAC address.)
   - we were using DEV_CONFIG_PENDING to block the net device "open"
     callback, and as we know the other methods may be called prior
     to open.
   
   My only concern with this patch is that we set info->node.dev_name
   after we register the net device, so use of cardctl during the
   hotplug scripts may give unexpected results.  However, I am not
   aware of anyone using cardctl to read the device name in network
   hotplug scripts.
   
   Please review and merge.  Thanks.

<shemminger@osdl.org> (03/10/14 1.1356)
   [netdrvr xircom_cb] fix race in statistics pointer setting
   by converting to use alloc_etherdev.



diff -Nru a/drivers/net/8139too.c b/drivers/net/8139too.c
--- a/drivers/net/8139too.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/8139too.c	Tue Oct 14 15:02:25 2003
@@ -248,6 +248,8 @@
 	{0x14ea, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
 	{0x14ea, 0xab07, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
 	{0x11db, 0x1234, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
+	{0x1432, 0x9130, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
+	{0x02ac, 0x1012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
 
 #ifdef CONFIG_SH_SECUREEDGE5410
 	/* Bogus 8139 silicon reports 8129 without external PROM :-( */
diff -Nru a/drivers/net/Kconfig b/drivers/net/Kconfig
--- a/drivers/net/Kconfig	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/Kconfig	Tue Oct 14 15:02:25 2003
@@ -1616,7 +1616,7 @@
 
 config TLAN
 	tristate "TI ThunderLAN support"
-	depends on NET_PCI && (PCI || EISA)
+	depends on NET_PCI && (PCI || EISA) && !64BIT
 	---help---
 	  If you have a PCI Ethernet network card based on the ThunderLAN chip
 	  which is supported by this driver, say Y and read the
@@ -2412,7 +2412,7 @@
 
 config RCPCI
 	tristate "Red Creek Hardware VPN (EXPERIMENTAL)"
-	depends on NETDEVICES && EXPERIMENTAL && PCI
+	depends on NETDEVICES && EXPERIMENTAL && PCI && !64BIT
 	help
 	  This is a driver for hardware which provides a Virtual Private
 	  Network (VPN). Say Y if you have it.
diff -Nru a/drivers/net/b44.c b/drivers/net/b44.c
--- a/drivers/net/b44.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/b44.c	Tue Oct 14 15:02:25 2003
@@ -25,8 +25,8 @@
 
 #define DRV_MODULE_NAME		"b44"
 #define PFX DRV_MODULE_NAME	": "
-#define DRV_MODULE_VERSION	"0.9"
-#define DRV_MODULE_RELDATE	"Jul 14, 2003"
+#define DRV_MODULE_VERSION	"0.91"
+#define DRV_MODULE_RELDATE	"Oct 3, 2003"
 
 #define B44_DEF_MSG_ENABLE	  \
 	(NETIF_MSG_DRV		| \
@@ -80,15 +80,6 @@
 
 static int b44_debug = -1;	/* -1 == use B44_DEF_MSG_ENABLE as value */
 
-#ifndef PCI_DEVICE_ID_BCM4401
-#define PCI_DEVICE_ID_BCM4401      0x4401
-#endif
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
-#define IRQ_RETVAL(x) 
-#define irqreturn_t void
-#endif
-
 static struct pci_device_id b44_pci_tbl[] = {
 	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_BCM4401,
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
@@ -869,6 +860,8 @@
 	b44_init_hw(bp);
 
 	spin_unlock_irq(&bp->lock);
+
+	b44_enable_ints(bp);
 
 	netif_wake_queue(dev);
 }
diff -Nru a/drivers/net/defxx.c b/drivers/net/defxx.c
--- a/drivers/net/defxx.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/defxx.c	Tue Oct 14 15:02:25 2003
@@ -2664,8 +2664,8 @@
  
 static void my_skb_align(struct sk_buff *skb, int n)
 {
-	u32 x=(u32)skb->data;	/* We only want the low bits .. */
-	u32 v;
+	unsigned long x=(unsigned long)skb->data;	
+	unsigned long v;
 	
 	v=(x+n-1)&~(n-1);	/* Where we want to be */
 	
diff -Nru a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
--- a/drivers/net/e1000/e1000_main.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/e1000/e1000_main.c	Tue Oct 14 15:02:25 2003
@@ -30,7 +30,7 @@
 
 /* Change Log
  *
- * 5.2.18	9/13/03
+ * 5.2.20	9/30/03
  *   o Bug fix: SERDES devices might be connected to a back-plane
  *     switch that doesn't support auto-neg, so add the capability
  *     to force 1000/Full.
@@ -39,6 +39,9 @@
  *     Jumbo Frames or with the reduced FIFO in 82547.
  *   o Better propagation of error codes. [Janice Girouard 
  *     (janiceg@us.ibm.com)].
+ *   o Bug fix: hang under heavy Tx stress when running out of Tx
+ *     descriptors; wasn't clearing context descriptor when backing
+ *     out of send because of no-resource condition.
  *
  * 5.2.16	8/8/03
  *   o Added support for new controllers: 82545GM, 82546GB, 82541/7_B1
@@ -61,7 +64,7 @@
 
 char e1000_driver_name[] = "e1000";
 char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
-char e1000_driver_version[] = "5.2.19-k1";
+char e1000_driver_version[] = "5.2.20-k1";
 char e1000_copyright[] = "Copyright (c) 1999-2003 Intel Corporation.";
 
 /* e1000_pci_tbl - PCI Device ID Table
@@ -1545,6 +1548,7 @@
 	unsigned int first)
 {
 	struct e1000_desc_ring *tx_ring = &adapter->tx_ring;
+	struct e1000_tx_desc *tx_desc;
 	struct e1000_buffer *buffer_info;
 	unsigned int len = skb->len, max_per_txd = E1000_MAX_DATA_PER_TXD;
 	unsigned int offset = 0, size, count = 0, i;
@@ -1640,17 +1644,29 @@
 		}
 	}
 
-	if(E1000_DESC_UNUSED(&adapter->tx_ring) < count) {
+	if(E1000_DESC_UNUSED(&adapter->tx_ring) < count + 2) {
 
 		/* There aren't enough descriptors available to queue up
-		 * this send, so undo the mapping and abort the send. 
-		 * We could have done the check before we mapped the skb,
-		 * but because of all the workarounds (above), it's too
-		 * difficult to predict how many we're going to need.*/
-		i = first;
+		 * this send (need: count + 1 context desc + 1 desc gap
+		 * to keep tail from touching head), so undo the mapping
+		 * and abort the send.  We could have done the check before
+		 * we mapped the skb, but because of all the workarounds
+		 * (above), it's too difficult to predict how many we're
+		 * going to need.*/
+		i = adapter->tx_ring.next_to_use;
+
+		if(i == first) {
+			/* Cleanup after e1000_tx_[csum|tso] scribbling
+			 * on descriptors. */
+			tx_desc = E1000_TX_DESC(*tx_ring, first);
+			tx_desc->buffer_addr = 0;
+			tx_desc->lower.data = 0;
+			tx_desc->upper.data = 0;
+		}
 
 		while(count--) {
 			buffer_info = &tx_ring->buffer_info[i];
+
 			if(buffer_info->dma) {
 				pci_unmap_page(adapter->pdev,
 					       buffer_info->dma,
@@ -1658,8 +1674,11 @@
 					       PCI_DMA_TODEVICE);
 				buffer_info->dma = 0;
 			}
+
 			if(++i == tx_ring->count) i = 0;
 		}
+
+		adapter->tx_ring.next_to_use = first;
 
 		return 0;
 	}
diff -Nru a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c
--- a/drivers/net/hamradio/bpqether.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/hamradio/bpqether.c	Tue Oct 14 15:02:25 2003
@@ -196,12 +196,8 @@
 	eth = (struct ethhdr *)skb->mac.raw;
 
 	if (!(bpq->acpt_addr[0] & 0x01) &&
-	    memcmp(eth->h_source, bpq->acpt_addr, ETH_ALEN)) {
-		if (net_ratelimit())
-			printk(KERN_DEBUG "bpqether: wrong dest %s\n",
-			       bpq_print_ethaddr(eth->h_source));
+	    memcmp(eth->h_source, bpq->acpt_addr, ETH_ALEN))
 		goto drop_unlock;
-	}
 
 	if (skb_cow(skb, sizeof(struct ethhdr)))
 		goto drop_unlock;
diff -Nru a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
--- a/drivers/net/hamradio/scc.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/hamradio/scc.c	Tue Oct 14 15:02:25 2003
@@ -1762,7 +1762,7 @@
 
 #ifndef SCC_DONT_CHECK
 
-			if(request_region(scc->ctrl, 1, "scc-probe"))
+			if(request_region(hwcfg.ctrl_a, 1, "scc-probe"))
 			{
 				disable_irq(hwcfg.irq);
 				Outb(hwcfg.ctrl_a, 0);
@@ -1774,7 +1774,7 @@
 				if (InReg(hwcfg.ctrl_a,R13) != 0x55)
 					found = 0;
 				enable_irq(hwcfg.irq);
-				release_region(scc->ctrl, 1);
+				release_region(hwcfg.ctrl_a, 1);
 			}
 			else
 				found = 0;
diff -Nru a/drivers/net/hp100.c b/drivers/net/hp100.c
--- a/drivers/net/hp100.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/hp100.c	Tue Oct 14 15:02:25 2003
@@ -1265,9 +1265,9 @@
 {
 	/* pdlptr is starting address for this pdl */
 
-	if (0 != (((unsigned) pdlptr) & 0xf))
-		printk("hp100: %s: Init rxpdl: Unaligned pdlptr 0x%x.\n",
-		       dev->name, (unsigned) pdlptr);
+	if (0 != (((unsigned long) pdlptr) & 0xf))
+		printk("hp100: %s: Init rxpdl: Unaligned pdlptr 0x%lx.\n",
+		       dev->name, (unsigned long) pdlptr);
 
 	ringptr->pdl = pdlptr + 1;
 	ringptr->pdl_paddr = virt_to_whatever(dev, pdlptr + 1);
@@ -1292,8 +1292,8 @@
 			    register hp100_ring_t * ringptr,
 			    register u32 * pdlptr)
 {
-	if (0 != (((unsigned) pdlptr) & 0xf))
-		printk("hp100: %s: Init txpdl: Unaligned pdlptr 0x%x.\n", dev->name, (unsigned) pdlptr);
+	if (0 != (((unsigned long) pdlptr) & 0xf))
+		printk("hp100: %s: Init txpdl: Unaligned pdlptr 0x%lx.\n", dev->name, (unsigned long) pdlptr);
 
 	ringptr->pdl = pdlptr;	/* +1; */
 	ringptr->pdl_paddr = virt_to_whatever(dev, pdlptr);	/* +1 */
diff -Nru a/drivers/net/natsemi.c b/drivers/net/natsemi.c
--- a/drivers/net/natsemi.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/natsemi.c	Tue Oct 14 15:02:25 2003
@@ -1530,7 +1530,7 @@
 	for (i = 0; i < TX_RING_SIZE; i++) {
 		if (np->tx_skbuff[i]) {
 			pci_unmap_single(np->pci_dev,
-				np->rx_dma[i], np->rx_skbuff[i]->len,
+				np->tx_dma[i], np->tx_skbuff[i]->len,
 				PCI_DMA_TODEVICE);
 			dev_kfree_skb(np->tx_skbuff[i]);
 			np->stats.tx_dropped++;
diff -Nru a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
--- a/drivers/net/pcmcia/pcnet_cs.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/pcmcia/pcnet_cs.c	Tue Oct 14 15:02:25 2003
@@ -681,10 +681,6 @@
     } else {
 	dev->if_port = 0;
     }
-    if (register_netdev(dev) != 0) {
-	printk(KERN_NOTICE "pcnet_cs: register_netdev() failed\n");
-	goto failed;
-    }
 
     hw_info = get_hwinfo(link);
     if (hw_info == NULL)
@@ -699,7 +695,6 @@
     if (hw_info == NULL) {
 	printk(KERN_NOTICE "pcnet_cs: unable to read hardware net"
 	       " address for io base %#3lx\n", dev->base_addr);
-	unregister_netdev(dev);
 	goto failed;
     }
 
@@ -733,8 +728,6 @@
     ei_status.word16 = 1;
     ei_status.reset_8390 = &pcnet_reset_8390;
 
-    strcpy(info->node.dev_name, dev->name);
-    link->dev = &info->node;
     SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops);
 
     if (info->flags & (IS_DL10019|IS_DL10022)) {
@@ -743,6 +736,21 @@
 	mii_phy_probe(dev);
 	if ((id == 0x30) && !info->pna_phy && (info->eth_phy == 4))
 	    info->eth_phy = 0;
+    }
+
+    link->dev = &info->node;
+    link->state &= ~DEV_CONFIG_PENDING;
+
+    if (register_netdev(dev) != 0) {
+	printk(KERN_NOTICE "pcnet_cs: register_netdev() failed\n");
+	link->dev = NULL;
+	goto failed;
+    }
+
+    strcpy(info->node.dev_name, dev->name);
+
+    if (info->flags & (IS_DL10019|IS_DL10022)) {
+	u_char id = inb(dev->base_addr + 0x1a);
 	printk(KERN_INFO "%s: NE2000 (DL100%d rev %02x): ",
 	       dev->name, ((info->flags & IS_DL10022) ? 22 : 19), id);
 	if (info->pna_phy)
@@ -758,7 +766,6 @@
     printk(" hw_addr ");
     for (i = 0; i < 6; i++)
 	printk("%02X%s", dev->dev_addr[i], ((i<5) ? ":" : "\n"));
-    link->state &= ~DEV_CONFIG_PENDING;
     return;
 
 cs_failed:
diff -Nru a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
--- a/drivers/net/tulip/tulip_core.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/tulip/tulip_core.c	Tue Oct 14 15:02:25 2003
@@ -224,6 +224,7 @@
 	{ 0x1186, 0x1561, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
 	{ 0x1626, 0x8410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
 	{ 0x1737, 0xAB09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
+	{ 0x1737, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
 	{ 0x17B3, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
  	{ 0x10b9, 0x5261, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X },	/* ALi 1563 integrated ethernet */
 	{ 0x10b7, 0x9300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* 3Com 3CSOHO100B-TX */
diff -Nru a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
--- a/drivers/net/tulip/xircom_cb.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/tulip/xircom_cb.c	Tue Oct 14 15:02:25 2003
@@ -230,7 +230,8 @@
 	   This way, we can fail gracefully if not enough memory
 	   is available. 
 	 */
-	if ((dev = init_etherdev(NULL, sizeof(struct xircom_private))) == NULL) {
+	dev = alloc_etherdev(sizeof(struct xircom_private));
+	if (!dev) {
 		printk(KERN_ERR "xircom_probe: failed to allocate etherdev\n");
 		goto device_fail;
 	}
@@ -250,7 +251,7 @@
 
 	SET_MODULE_OWNER(dev);
 	SET_NETDEV_DEV(dev, &pdev->dev);
-	printk(KERN_INFO "%s: Xircom cardbus revision %i at irq %i \n", dev->name, chip_rev, pdev->irq);
+
 
 	private->dev = dev;
 	private->pdev = pdev;
@@ -259,7 +260,6 @@
 	dev->irq = pdev->irq;
 	dev->base_addr = private->io_port;
 	
-	
 	initialize_card(private);
 	read_mac_address(private);
 	setup_descriptors(private);
@@ -272,7 +272,12 @@
 	SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops);
 	pci_set_drvdata(pdev, dev);
 
-	
+	if (register_netdev(dev)) {
+		printk(KERN_ERR "xircom_probe: netdevice registration failed.\n");
+		goto reg_fail;
+	}
+		
+	printk(KERN_INFO "%s: Xircom cardbus revision %i at irq %i \n", dev->name, chip_rev, pdev->irq);
 	/* start the transmitter to get a heartbeat */
 	/* TODO: send 2 dummy packets here */
 	transceiver_voodoo(private);
@@ -287,10 +292,12 @@
 	leave("xircom_probe");
 	return 0;
 
+reg_fail:
+	kfree(private->tx_buffer);
 tx_buf_fail:
 	kfree(private->rx_buffer);
 rx_buf_fail:
-	kfree(dev);
+	free_netdev(dev);
 device_fail:
 	return -ENODEV;
 }
@@ -305,22 +312,16 @@
 static void __devexit xircom_remove(struct pci_dev *pdev)
 {
 	struct net_device *dev = pci_get_drvdata(pdev);
-	struct xircom_private *card;
+	struct xircom_private *card = dev->priv;
+
 	enter("xircom_remove");
-	if (dev!=NULL) {
-		card=dev->priv;
-		if (card!=NULL) {	
-			if (card->rx_buffer!=NULL)
-				pci_free_consistent(pdev,8192,card->rx_buffer,card->rx_dma_handle);
-			card->rx_buffer = NULL;
-			if (card->tx_buffer!=NULL)
-				pci_free_consistent(pdev,8192,card->tx_buffer,card->tx_dma_handle);
-			card->tx_buffer = NULL;			
-		}
-	}
+	pci_free_consistent(pdev,8192,card->rx_buffer,card->rx_dma_handle);
+	pci_free_consistent(pdev,8192,card->tx_buffer,card->tx_dma_handle);
+
 	release_region(dev->base_addr, 128);
 	unregister_netdev(dev);
 	free_netdev(dev);
+	pci_set_drvdata(pdev, NULL);
 	leave("xircom_remove");
 } 
 
diff -Nru a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
--- a/drivers/net/wireless/atmel.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/wireless/atmel.c	Tue Oct 14 15:02:25 2003
@@ -37,7 +37,6 @@
 ******************************************************************************/
 
 #include <linux/config.h>
-#include <linux/version.h>
 #include <linux/init.h>
 
 #include <linux/kernel.h>
diff -Nru a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c
--- a/drivers/net/wireless/atmel_cs.c	Tue Oct 14 15:02:25 2003
+++ b/drivers/net/wireless/atmel_cs.c	Tue Oct 14 15:02:25 2003
@@ -84,7 +84,7 @@
 static int irq_list[4] = { -1 };
 
 MODULE_AUTHOR("Simon Kelley");
-MODULE_DESCRIPTION("Support for Atmel at76c50x 802.11 wireless ethnet cards.");
+MODULE_DESCRIPTION("Support for Atmel at76c50x 802.11 wireless ethernet cards.");
 MODULE_LICENSE("GPL");
 MODULE_SUPPORTED_DEVICE("Atmel at76c50x PCMCIA cards");
 MODULE_PARM(irq_mask, "i");
@@ -404,9 +404,12 @@
 					goto mismatch;
 				for (k = 0; k < j; k++) {
 					while ((*p != '\0') && (*p != '/')) p++;
-					if (*p == '\0')
-						goto mismatch;
-					p++;
+					if (*p == '\0') {
+						if (*q != '\0')
+							goto mismatch;
+					} else {
+						p++;
+					}
 				}
 				while((*q != '\0') && (*p != '\0') && 
 				      (*p != '/') && (*p == *q)) p++, q++;
diff -Nru a/include/linux/ethtool.h b/include/linux/ethtool.h
--- a/include/linux/ethtool.h	Tue Oct 14 15:02:25 2003
+++ b/include/linux/ethtool.h	Tue Oct 14 15:02:25 2003
@@ -307,14 +307,14 @@
  *
  * get_eeprom:
  *	Should fill in the magic field.  Don't need to check len for zero
- *	or wraparound but must check offset + len < size.  Fill in the data
- *	argument with the eeprom values from offset to offset + len.  Update
- *	len to the amount read.  Returns an error or zero.
+ *	or wraparound.  Fill in the data argument with the eeprom values
+ *	from offset to offset + len.  Update len to the amount read.
+ *	Returns an error or zero.
  *
  * set_eeprom:
  *	Should validate the magic field.  Don't need to check len for zero
- *	or wraparound but must check offset + len < size.  Update len to
- *	the amount written.  Returns an error or zero.
+ *	or wraparound.  Update len to the amount written.  Returns an error
+ *	or zero.
  */
 struct ethtool_ops {
 	int	(*get_settings)(struct net_device *, struct ethtool_cmd *);
@@ -328,6 +328,7 @@
 	void	(*set_msglevel)(struct net_device *, u32);
 	int	(*nway_reset)(struct net_device *);
 	u32	(*get_link)(struct net_device *);
+	int	(*get_eeprom_len)(struct net_device *);
 	int	(*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
 	int	(*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
 	int	(*get_coalesce)(struct net_device *, struct ethtool_coalesce *);
diff -Nru a/net/core/ethtool.c b/net/core/ethtool.c
--- a/net/core/ethtool.c	Tue Oct 14 15:02:25 2003
+++ b/net/core/ethtool.c	Tue Oct 14 15:02:25 2003
@@ -122,7 +122,8 @@
 		info.n_stats = ops->get_stats_count(dev);
 	if (ops->get_regs_len)
 		info.regdump_len = ops->get_regs_len(dev);
-	/* XXX: eeprom? */
+	if (ops->get_eeprom_len)
+		info.eedump_len = ops->get_eeprom_len(dev);
 
 	if (copy_to_user(useraddr, &info, sizeof(info)))
 		return -EFAULT;
@@ -245,29 +246,34 @@
 static int ethtool_get_eeprom(struct net_device *dev, void *useraddr)
 {
 	struct ethtool_eeprom eeprom;
+	struct ethtool_ops *ops = dev->ethtool_ops;
 	u8 *data;
-	int len, ret;
+	int ret;
 
-	if (!dev->ethtool_ops->get_eeprom)
+	if (!ops->get_eeprom || !ops->get_eeprom_len)
 		return -EOPNOTSUPP;
 
 	if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
 		return -EFAULT;
 
-	len = eeprom.len;
 	/* Check for wrap and zero */
-	if (eeprom.offset + len <= eeprom.offset)
+	if (eeprom.offset + eeprom.len <= eeprom.offset)
+		return -EINVAL;
+
+	/* Check for exceeding total eeprom len */
+	if (eeprom.offset + eeprom.len > ops->get_eeprom_len(dev))
 		return -EINVAL;
 
-	data = kmalloc(len, GFP_USER);
+	data = kmalloc(eeprom.len, GFP_USER);
 	if (!data)
 		return -ENOMEM;
 
-	if (copy_from_user(data, useraddr + sizeof(eeprom), len))
-		return -EFAULT;
+	ret = -EFAULT;
+	if (copy_from_user(data, useraddr + sizeof(eeprom), eeprom.len))
+		goto out;
 
-	ret = dev->ethtool_ops->get_eeprom(dev, &eeprom, data);
-	if (!ret)
+	ret = ops->get_eeprom(dev, &eeprom, data);
+	if (ret)
 		goto out;
 
 	ret = -EFAULT;
@@ -285,32 +291,37 @@
 static int ethtool_set_eeprom(struct net_device *dev, void *useraddr)
 {
 	struct ethtool_eeprom eeprom;
+	struct ethtool_ops *ops = dev->ethtool_ops;
 	u8 *data;
-	int len, ret;
+	int ret;
 
-	if (!dev->ethtool_ops->set_eeprom)
+	if (!ops->set_eeprom || !ops->get_eeprom_len)
 		return -EOPNOTSUPP;
 
 	if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
 		return -EFAULT;
 
-	len = eeprom.len;
 	/* Check for wrap and zero */
-	if (eeprom.offset + len <= eeprom.offset)
+	if (eeprom.offset + eeprom.len <= eeprom.offset)
+		return -EINVAL;
+
+	/* Check for exceeding total eeprom len */
+	if (eeprom.offset + eeprom.len > ops->get_eeprom_len(dev))
 		return -EINVAL;
 
-	data = kmalloc(len, GFP_USER);
+	data = kmalloc(eeprom.len, GFP_USER);
 	if (!data)
 		return -ENOMEM;
 
-	if (copy_from_user(data, useraddr + sizeof(eeprom), len))
-		return -EFAULT;
+	ret = -EFAULT;
+	if (copy_from_user(data, useraddr + sizeof(eeprom), eeprom.len))
+		goto out;
 
-	ret = dev->ethtool_ops->set_eeprom(dev, &eeprom, data);
+	ret = ops->set_eeprom(dev, &eeprom, data);
 	if (ret)
 		goto out;
 
-	if (copy_to_user(useraddr + sizeof(eeprom), data, len))
+	if (copy_to_user(useraddr + sizeof(eeprom), data, eeprom.len))
 		ret = -EFAULT;
 
  out:

^ permalink raw reply	[flat|nested] 11+ messages in thread
* [BK PATCHES] 2.6.x net driver updates
@ 2004-10-30 13:32 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2004-10-30 13:32 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds; +Cc: netdev, linux-kernel


Please do a

	bk pull bk://gkernel.bkbits.net/net-drivers-2.6

This will update the following files:

 MAINTAINERS             |    4 
 drivers/net/8390.c      |    2 
 drivers/net/amd8111e.c  |  220 +++++++++++++++++++++++++++---------------------
 drivers/net/amd8111e.h  |    3 
 drivers/net/smc91x.h    |    4 
 drivers/net/via-rhine.c |    2 
 6 files changed, 132 insertions(+), 103 deletions(-)

through these ChangeSets:

<rddunlap@osdl.org> (04/10/30 1.2350)
   [PATCH] via-rhine: references __init code during resume
   
   Fix __init section usage:
   rhine_resume calls enable_mmio, so latter cannot be __devinit;
   Error: ./drivers/net/via-rhine.o .text refers to 0000000000000925 R_X86_64_PC32
   .init.text+0xfffffffffffffffc
   
   Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

<benh@kernel.crashing.org> (04/10/30 1.2349)
   [PATCH] amd8111e: Add support for ppc64 eval board
   
   This patch adds a few memory barriers, cleans up a little bit the
   use of the "status" field in the rx & tx routines, and adds probing
   for the external PHY to the driver.
   
   Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

<benh@kernel.crashing.org> (04/10/30 1.2348)
   [PATCH] amd8111e: Fix identation of amd8111e_rx_poll()
   
   This patch does an indentation fix to amd8111e_rx_poll() which was
   incorrectly shifting left in the middle of a while() loop, thus
   rendering the function difficult to read. There is no actual code
   change.
   
   Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

<sfeldma@pobox.com> (04/10/30 1.2347)
   [PATCH] e100: update maintainer
   
   My intel.com address will bounce.
   
   Signed-off-by: Scott Feldman <sfeldma@pobox.com>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

<nico@cam.org> (04/10/30 1.2346)
   [PATCH] fix smc91x compilation error
   
   It looks like this bit got mismerged (pci.h removed but DMA arguments
   convertion missing).
   
   Signed-off-by: Nicolas Pitre <nico@cam.org>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

<rmk+lkml@arm.linux.org.uk> (04/10/30 1.2345)
   [PATCH] 8390.c: Use mdelay(10) rather than udelay(10*1000)
   
   ARM udelay can't cope with >2ms delays.
   
   Signed-off-by: Russell King <rmk@arm.linux.org.uk>
   Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

diff -Nru a/MAINTAINERS b/MAINTAINERS
--- a/MAINTAINERS	2004-10-30 09:31:01 -04:00
+++ b/MAINTAINERS	2004-10-30 09:31:01 -04:00
@@ -1110,8 +1110,8 @@
 M:	john.ronciak@intel.com
 P:	Ganesh Venkatesan
 M:	ganesh.venkatesan@intel.com
-P:	Scott Feldman
-M:	scott.feldman@intel.com
+P:	Jesse Brandeburg
+M:	jesse.brandeburg@intel.com
 W:	http://sourceforge.net/projects/e1000/
 S:	Supported
 
diff -Nru a/drivers/net/8390.c b/drivers/net/8390.c
--- a/drivers/net/8390.c	2004-10-30 09:31:01 -04:00
+++ b/drivers/net/8390.c	2004-10-30 09:31:01 -04:00
@@ -813,7 +813,7 @@
 	 * We wait at least 10ms.
 	 */
 
-	udelay(10*1000);
+	mdelay(10);
 
 	/*
 	 * Reset RBCR[01] back to zero as per magic incantation.
diff -Nru a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
--- a/drivers/net/amd8111e.c	2004-10-30 09:31:01 -04:00
+++ b/drivers/net/amd8111e.c	2004-10-30 09:31:01 -04:00
@@ -211,7 +211,7 @@
 	u32 bmcr,advert,tmp;
 	
 	/* Determine mii register values to set the speed */
-	advert = amd8111e_mdio_read(dev, PHY_ID, MII_ADVERTISE);
+	advert = amd8111e_mdio_read(dev, lp->ext_phy_addr, MII_ADVERTISE);
 	tmp = advert & ~(ADVERTISE_ALL | ADVERTISE_100BASE4);
 	switch (lp->ext_phy_option){
 
@@ -235,11 +235,11 @@
 	}
 
 	if(advert != tmp)
-		amd8111e_mdio_write(dev, PHY_ID, MII_ADVERTISE, tmp);
+		amd8111e_mdio_write(dev, lp->ext_phy_addr, MII_ADVERTISE, tmp);
 	/* Restart auto negotiation */
-	bmcr = amd8111e_mdio_read(dev, PHY_ID, MII_BMCR);
+	bmcr = amd8111e_mdio_read(dev, lp->ext_phy_addr, MII_BMCR);
 	bmcr |= (BMCR_ANENABLE | BMCR_ANRESTART);
-	amd8111e_mdio_write(dev, PHY_ID, MII_BMCR, bmcr);
+	amd8111e_mdio_write(dev, lp->ext_phy_addr, MII_BMCR, bmcr);
 
 }
 
@@ -350,6 +350,7 @@
 
 		lp->rx_ring[i].buff_phy_addr = cpu_to_le32(lp->rx_dma_addr[i]);
 		lp->rx_ring[i].buff_count = cpu_to_le16(lp->rx_buff_len-2);
+		wmb();
 		lp->rx_ring[i].rx_flags = cpu_to_le16(OWN_BIT);
 	}
 
@@ -529,7 +530,7 @@
 	writel(RUN, mmio + CMD0);
 
 	/* AUTOPOLL0 Register *//*TBD default value is 8100 in FPS */
-	writew( 0x8101, mmio + AUTOPOLL0);
+	writew( 0x8100 | lp->ext_phy_addr, mmio + AUTOPOLL0);
 
 	/* Clear RCV_RING_BASE_ADDR */
 	writel(0, mmio + RCV_RING_BASE_ADDR0);
@@ -740,11 +741,11 @@
 	do{   
 		/* process receive packets until we use the quota*/
 		/* If we own the next entry, it's a new packet. Send it up. */
-		while(!(lp->rx_ring[rx_index].rx_flags & OWN_BIT)){
-	       
-			/* check if err summary bit is set */ 
-			if(le16_to_cpu(lp->rx_ring[rx_index].rx_flags) 
-								& ERR_BIT){
+		while(1) {
+			status = le16_to_cpu(lp->rx_ring[rx_index].rx_flags);
+			if (status & OWN_BIT)
+				break;
+
 			/* 
 			 * There is a tricky error noted by John Murphy,
 			 * <murf@perftech.com> to Russ Nelson: Even with
@@ -753,89 +754,88 @@
 			 * the last correctly noting the error.
 			 */
 
-			/* reseting flags */
-			lp->rx_ring[rx_index].rx_flags &=RESET_RX_FLAGS;
-			goto err_next_pkt;
-
+			if(status & ERR_BIT) {
+				/* reseting flags */
+				lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
+				goto err_next_pkt;
 			}
 			/* check for STP and ENP */
-		status = le16_to_cpu(lp->rx_ring[rx_index].rx_flags);
-		if(!((status & STP_BIT) && (status & ENP_BIT))){
-			/* reseting flags */
-			lp->rx_ring[rx_index].rx_flags &=RESET_RX_FLAGS;
-			goto err_next_pkt;
-		}
-		pkt_len = le16_to_cpu(lp->rx_ring[rx_index].msg_count) - 4;
+			if(!((status & STP_BIT) && (status & ENP_BIT))){
+				/* reseting flags */
+				lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
+				goto err_next_pkt;
+			}
+			pkt_len = le16_to_cpu(lp->rx_ring[rx_index].msg_count) - 4;
 
 #if AMD8111E_VLAN_TAG_USED		
-		vtag = le16_to_cpu(lp->rx_ring[rx_index].rx_flags) & TT_MASK;
-		/*MAC will strip vlan tag*/ 
-		if(lp->vlgrp != NULL && vtag !=0)
-			min_pkt_len =MIN_PKT_LEN - 4;
-		else
+			vtag = status & TT_MASK;
+			/*MAC will strip vlan tag*/ 
+			if(lp->vlgrp != NULL && vtag !=0)
+				min_pkt_len =MIN_PKT_LEN - 4;
+			else
 #endif
-			min_pkt_len =MIN_PKT_LEN;
+				min_pkt_len =MIN_PKT_LEN;
 
-		if (pkt_len < min_pkt_len) {
-			lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
-			lp->drv_rx_errors++;
-			goto err_next_pkt;
-		}
-		if(--rx_pkt_limit < 0)
-			goto rx_not_empty;
-		if(!(new_skb = dev_alloc_skb(lp->rx_buff_len))){
-			/* if allocation fail, 
-				ignore that pkt and go to next one */
-			lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
-			lp->drv_rx_errors++;
-			goto err_next_pkt;
-		}
+			if (pkt_len < min_pkt_len) {
+				lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
+				lp->drv_rx_errors++;
+				goto err_next_pkt;
+			}
+			if(--rx_pkt_limit < 0)
+				goto rx_not_empty;
+			if(!(new_skb = dev_alloc_skb(lp->rx_buff_len))){
+				/* if allocation fail, 
+				   ignore that pkt and go to next one */
+				lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
+				lp->drv_rx_errors++;
+				goto err_next_pkt;
+			}
 		
-		skb_reserve(new_skb, 2);
-		skb = lp->rx_skbuff[rx_index];
-		pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
-			lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
-		skb_put(skb, pkt_len);
-		skb->dev = dev;
-		lp->rx_skbuff[rx_index] = new_skb;
-		new_skb->dev = dev;
-		lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
-			new_skb->data, lp->rx_buff_len-2,PCI_DMA_FROMDEVICE);
+			skb_reserve(new_skb, 2);
+			skb = lp->rx_skbuff[rx_index];
+			pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
+					 lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
+			skb_put(skb, pkt_len);
+			skb->dev = dev;
+			lp->rx_skbuff[rx_index] = new_skb;
+			new_skb->dev = dev;
+			lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
+								   new_skb->data,
+								   lp->rx_buff_len-2,
+								   PCI_DMA_FROMDEVICE);
 	
-		skb->protocol = eth_type_trans(skb, dev);
+			skb->protocol = eth_type_trans(skb, dev);
 
 #if AMD8111E_VLAN_TAG_USED		
-		
-		vtag = lp->rx_ring[rx_index].rx_flags & TT_MASK;
-		if(lp->vlgrp != NULL && (vtag == TT_VLAN_TAGGED)){
-			amd8111e_vlan_rx(lp, skb,
-				    lp->rx_ring[rx_index].tag_ctrl_info);
-		} else
+			if(lp->vlgrp != NULL && (vtag == TT_VLAN_TAGGED)){
+				amd8111e_vlan_rx(lp, skb,
+					 le16_to_cpy(lp->rx_ring[rx_index].tag_ctrl_info));
+			} else
 #endif
-			
-			netif_receive_skb(skb);
-		/*COAL update rx coalescing parameters*/
-		lp->coal_conf.rx_packets++;
-		lp->coal_conf.rx_bytes += pkt_len;	
-		num_rx_pkt++;
-		dev->last_rx = jiffies;
+				netif_receive_skb(skb);
+			/*COAL update rx coalescing parameters*/
+			lp->coal_conf.rx_packets++;
+			lp->coal_conf.rx_bytes += pkt_len;	
+			num_rx_pkt++;
+			dev->last_rx = jiffies;
 	
-err_next_pkt:	
-		lp->rx_ring[rx_index].buff_phy_addr
-			 = cpu_to_le32(lp->rx_dma_addr[rx_index]);
-		lp->rx_ring[rx_index].buff_count = 
+		err_next_pkt:	
+			lp->rx_ring[rx_index].buff_phy_addr
+				= cpu_to_le32(lp->rx_dma_addr[rx_index]);
+			lp->rx_ring[rx_index].buff_count = 
 				cpu_to_le16(lp->rx_buff_len-2);
-		lp->rx_ring[rx_index].rx_flags |= cpu_to_le16(OWN_BIT);
-		rx_index = (++lp->rx_idx) & RX_RING_DR_MOD_MASK;
-	}
-	/* Check the interrupt status register for more packets in the 
-	mean time. Process them since we have not used up our quota.*/
+			wmb();
+			lp->rx_ring[rx_index].rx_flags |= cpu_to_le16(OWN_BIT);
+			rx_index = (++lp->rx_idx) & RX_RING_DR_MOD_MASK;
+		}
+		/* Check the interrupt status register for more packets in the 
+		   mean time. Process them since we have not used up our quota.*/
+
+		intr0 = readl(mmio + INT0);
+		/*Ack receive packets */
+		writel(intr0 & RINT0,mmio + INT0);
 
-	intr0 = readl(mmio + INT0);
-	/*Ack receive packets */
-	writel(intr0 & RINT0,mmio + INT0);
-
-	}while(intr0 & RINT0);
+	} while(intr0 & RINT0);
 
 	/* Receive descriptor is empty now */
 	dev->quota -= num_rx_pkt;
@@ -873,11 +873,12 @@
 	
 	/* If we own the next entry, it's a new packet. Send it up. */
 	while(++num_rx_pkt <= max_rx_pkt){
-		if(lp->rx_ring[rx_index].rx_flags & OWN_BIT)
+		status = le16_to_cpu(lp->rx_ring[rx_index].rx_flags);
+		if(status & OWN_BIT)
 			return 0;
 	       
 		/* check if err summary bit is set */ 
-		if(le16_to_cpu(lp->rx_ring[rx_index].rx_flags) & ERR_BIT){
+		if(status & ERR_BIT){
 			/* 
 			 * There is a tricky error noted by John Murphy,
 			 * <murf@perftech.com> to Russ Nelson: Even with full-sized
@@ -888,7 +889,6 @@
 			goto err_next_pkt;
 		}
 		/* check for STP and ENP */
-		status = le16_to_cpu(lp->rx_ring[rx_index].rx_flags);
 		if(!((status & STP_BIT) && (status & ENP_BIT))){
 			/* reseting flags */
 			lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
@@ -897,7 +897,7 @@
 		pkt_len = le16_to_cpu(lp->rx_ring[rx_index].msg_count) - 4;
 
 #if AMD8111E_VLAN_TAG_USED		
-		vtag = le16_to_cpu(lp->rx_ring[rx_index].rx_flags) & TT_MASK;
+		vtag = status & TT_MASK;
 		/*MAC will strip vlan tag*/ 
 		if(lp->vlgrp != NULL && vtag !=0)
 			min_pkt_len =MIN_PKT_LEN - 4;
@@ -931,12 +931,10 @@
 	
 		skb->protocol = eth_type_trans(skb, dev);
 
-#if AMD8111E_VLAN_TAG_USED		
-		
-		vtag = lp->rx_ring[rx_index].rx_flags & TT_MASK;
+#if AMD8111E_VLAN_TAG_USED				
 		if(lp->vlgrp != NULL && (vtag == TT_VLAN_TAGGED)){
 			amd8111e_vlan_rx(lp, skb,
-				    lp->rx_ring[rx_index].tag_ctrl_info);
+				 le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info));
 		} else
 #endif
 			
@@ -952,6 +950,7 @@
 			 = cpu_to_le32(lp->rx_dma_addr[rx_index]);
 		lp->rx_ring[rx_index].buff_count = 
 				cpu_to_le16(lp->rx_buff_len-2);
+		wmb();
 		lp->rx_ring[rx_index].rx_flags |= cpu_to_le16(OWN_BIT);
 		rx_index = (++lp->rx_idx) & RX_RING_DR_MOD_MASK;
 	}
@@ -1432,7 +1431,7 @@
 #if AMD8111E_VLAN_TAG_USED
 	if((lp->vlgrp != NULL) && vlan_tx_tag_present(skb)){
 		lp->tx_ring[tx_index].tag_ctrl_cmd |= 
-				cpu_to_le32(TCC_VLAN_INSERT);	
+				cpu_to_le16(TCC_VLAN_INSERT);	
 		lp->tx_ring[tx_index].tag_ctrl_info = 
 				cpu_to_le16(vlan_tx_tag_get(skb));
 
@@ -1444,6 +1443,7 @@
 	    (u32) cpu_to_le32(lp->tx_dma_addr[tx_index]);
 
 	/*  Set FCS and LTINT bits */
+	wmb();
 	lp->tx_ring[tx_index].tx_flags |=
 	    cpu_to_le16(OWN_BIT | STP_BIT | ENP_BIT|ADD_FCS_BIT|LTINT_BIT);
 
@@ -1667,7 +1667,7 @@
 
 	switch(cmd) {
 	case SIOCGMIIPHY:
-		data->phy_id = PHY_ID;
+		data->phy_id = lp->ext_phy_addr;
 
 	/* fallthru */
 	case SIOCGMIIREG: 
@@ -1940,6 +1940,26 @@
 
 }
 
+static void __devinit amd8111e_probe_ext_phy(struct net_device* dev)
+{
+	struct amd8111e_priv *lp = netdev_priv(dev);
+	int i;
+
+	for (i = 0x1e; i >= 0; i--) {
+		u32 id1, id2;
+
+		if (amd8111e_read_phy(lp, i, MII_PHYSID1, &id1))
+			continue;
+		if (amd8111e_read_phy(lp, i, MII_PHYSID2, &id2))
+			continue;
+		lp->ext_phy_id = (id1 << 16) | id2;
+		lp->ext_phy_addr = i;
+		return;
+	}
+	lp->ext_phy_id = 0;
+	lp->ext_phy_addr = 1;
+}
+
 static int __devinit amd8111e_probe_one(struct pci_dev *pdev,
 				  const struct pci_device_id *ent)
 {
@@ -2010,12 +2030,6 @@
 	lp->amd8111e_net_dev = dev;
 	lp->pm_cap = pm_cap;
 
-	/* setting mii default values */
-	lp->mii_if.dev = dev;
-	lp->mii_if.mdio_read = amd8111e_mdio_read;
-	lp->mii_if.mdio_write = amd8111e_mdio_write;
-	lp->mii_if.phy_id = PHY_ID;
-
 	spin_lock_init(&lp->lock);
 
 	lp->mmio = ioremap(reg_addr, reg_len);
@@ -2063,7 +2077,15 @@
 	dev->vlan_rx_register =amd8111e_vlan_rx_register;
 	dev->vlan_rx_kill_vid = amd8111e_vlan_rx_kill_vid;
 #endif	
-	
+	/* Probe the external PHY */
+	amd8111e_probe_ext_phy(dev);
+
+	/* setting mii default values */
+	lp->mii_if.dev = dev;
+	lp->mii_if.mdio_read = amd8111e_mdio_read;
+	lp->mii_if.mdio_write = amd8111e_mdio_write;
+	lp->mii_if.phy_id = lp->ext_phy_addr;
+
 	/* Set receive buffer length and set jumbo option*/
 	amd8111e_set_rx_buff_len(dev);
 
@@ -2096,6 +2118,12 @@
     	for (i = 0; i < 6; i++)
 		printk("%2.2x%c",dev->dev_addr[i],i == 5 ? ' ' : ':');
     	printk( "\n");	
+	if (lp->ext_phy_id)
+		printk(KERN_INFO "%s: Found MII PHY ID 0x%08x at address 0x%02x\n",
+		       dev->name, lp->ext_phy_id, lp->ext_phy_addr);
+	else
+		printk(KERN_INFO "%s: Couldn't detect MII PHY, assuming address 0x01\n",
+		       dev->name);
     	return 0;
 err_iounmap:
 	iounmap(lp->mmio);
diff -Nru a/drivers/net/amd8111e.h b/drivers/net/amd8111e.h
--- a/drivers/net/amd8111e.h	2004-10-30 09:31:01 -04:00
+++ b/drivers/net/amd8111e.h	2004-10-30 09:31:01 -04:00
@@ -649,7 +649,6 @@
 #define TCC_MASK		0x0003
 
 /* driver ioctl parameters */
-#define PHY_ID 			0x01	/* currently it is fixed */
 #define AMD8111E_REG_DUMP_LEN	 13*sizeof(u32) 
 
 /* crc generator constants */
@@ -777,6 +776,8 @@
 	int options;		/* Options enabled/disabled for the device */
 
 	unsigned long ext_phy_option;
+	int ext_phy_addr;
+	u32 ext_phy_id;
 	
 	struct amd8111e_link_config link_config;
 	int pm_cap;
diff -Nru a/drivers/net/smc91x.h b/drivers/net/smc91x.h
--- a/drivers/net/smc91x.h	2004-10-30 09:31:01 -04:00
+++ b/drivers/net/smc91x.h	2004-10-30 09:31:01 -04:00
@@ -245,7 +245,7 @@
 	while (!(DCSR(dma) & DCSR_STOPSTATE))
 		cpu_relax();
 	DCSR(dma) = 0;
-	dma_unmap_single(NULL, dmabuf, len, PCI_DMA_FROMDEVICE);
+	dma_unmap_single(NULL, dmabuf, len, DMA_FROM_DEVICE);
 }
 #endif
 
@@ -273,7 +273,7 @@
 	}
 
 	len *= 2;
-	dmabuf = dma_map_single(NULL, buf, len, PCI_DMA_FROMDEVICE);
+	dmabuf = dma_map_single(NULL, buf, len, DMA_FROM_DEVICE);
 	DCSR(dma) = DCSR_NODESC;
 	DTADR(dma) = dmabuf;
 	DSADR(dma) = physaddr + reg;
diff -Nru a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
--- a/drivers/net/via-rhine.c	2004-10-30 09:31:01 -04:00
+++ b/drivers/net/via-rhine.c	2004-10-30 09:31:01 -04:00
@@ -627,7 +627,7 @@
 }
 
 #ifdef USE_MMIO
-static void __devinit enable_mmio(long pioaddr, u32 quirks)
+static void enable_mmio(long pioaddr, u32 quirks)
 {
 	int n;
 	if (quirks & rqRhineI) {

^ permalink raw reply	[flat|nested] 11+ messages in thread
* [BK PATCHES] 2.6.x net driver updates
@ 2005-03-05 18:44 Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2005-03-05 18:44 UTC (permalink / raw)
  To: Netdev; +Cc: Linux Kernel

[-- Attachment #1: Type: text/plain, Size: 91 bytes --]

Just sent this to Andrew/Linus.  The patch was too large (500K) to send 
to mailing lists.

[-- Attachment #2: changelog.txt --]
[-- Type: text/plain, Size: 3065 bytes --]

Please do a

	bk pull bk://gkernel.bkbits.net/net-drivers-2.6

This will update the following files:

 Documentation/networking/e100.txt |    3 
 arch/arm/mach-pxa/lubbock.c       |    2 
 arch/arm/mach-sa1100/neponset.c   |    2 
 drivers/net/Kconfig               |   17 
 drivers/net/e1000/e1000.h         |    3 
 drivers/net/e1000/e1000_ethtool.c |   11 
 drivers/net/e1000/e1000_hw.c      |   86 
 drivers/net/e1000/e1000_hw.h      |   11 
 drivers/net/e1000/e1000_main.c    |  249 +
 drivers/net/eepro100.c            |    9 
 drivers/net/ixgb/ixgb.h           |    3 
 drivers/net/ixgb/ixgb_ee.c        |   16 
 drivers/net/ixgb/ixgb_ee.h        |    3 
 drivers/net/ixgb/ixgb_ethtool.c   |    5 
 drivers/net/ixgb/ixgb_hw.c        |    2 
 drivers/net/ixgb/ixgb_hw.h        |    2 
 drivers/net/ixgb/ixgb_ids.h       |    2 
 drivers/net/ixgb/ixgb_main.c      |   73 
 drivers/net/ixgb/ixgb_osdep.h     |    2 
 drivers/net/ixgb/ixgb_param.c     |    2 
 drivers/net/smc91x.c              |  275 +
 drivers/net/smc91x.h              |   79 
 drivers/net/tulip/de2104x.c       |    2 
 drivers/net/typhoon-firmware.h    | 5568 +++++++++++++++++---------------------
 drivers/net/typhoon.c             |  244 +
 drivers/net/wan/sbni.c            |    2 
 26 files changed, 3304 insertions(+), 3369 deletions(-)

through these ChangeSets:

<mallikarjuna.chilakala:intel.com>:
  o e1000: Driver version white space,
  o e1000: Fixes related to Cable length
  o e1000: Report failure code when loopback
  o e1000: Checks for desc ring/rx data
  o e1000: Patch from Peter Kjellstroem --
  o e1000: Fix WOL settings in 82544 based
  o e1000: Delay clean-up of last Tx buffer
  o e1000: Avoid race between e1000_watchdog
  o e1000: use netif_poll_{enable|disable}
  o e1000: Robert Olsson's fix and refinement
  o ixgb: Driver version, white space, other stuff
  o ixgb: Invalidate software cache, when EEPROM write occurs
  o ixgb: Robert Olsson's fix and refinement to poll
  o ixgb: Avoid race e1000_watchdog and ixgb_clean_tx_irq
  o ixgb: use netif_poll_{enable|disable}

Alexander Viro:
  o smc91x iomem annotations

David Dillow:
  o Bump version and release date
  o Version 03.001.008 of the Typhoon firmware, courtesy of 3Com
  o Fixup the version reporting to match 3Com
  o Use module_param() and add descriptions
  o Teach typhoon to use port IO on machines that need it. It will attempt to use MMIO, but if that fails (or the user asks), it will fallback to port IO.
  o Enable bus mastering before saving our state, or we'll only be able to load the modules one time.

Ian Campbell:
  o smc91x: power down PHY on suspend
  o use datacs in smc91x driver

Nicolas Pitre:
  o smc91x: allow RX of VLAN packets

Randy Dunlap:
  o tulip/de2104x: don't mix __init & __devinit sections
  o net/wan/sbni: fix section usage

Scott Feldman:
  o eepro100: remove ID for 82556
  o e100: remove reference to NAPI config option

Tony Lindgren:
  o Add OMAP support to smc91x Ethernet driver

Xose Vazquez Perez:
  o 2.6 eepro100: replace and delete duplicate ids


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-03-05 21:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-08  0:05 [bk patches] 2.6.x net driver updates Jeff Garzik
2003-08-08  1:36 ` William Enck
2003-08-08  1:41   ` Jeff Garzik
2003-08-08  2:04     ` William Enck
2003-08-08  3:01       ` William Enck
2003-09-20 19:27 Jeff Garzik
2003-09-26  1:02 Jeff Garzik
2003-09-27 11:55 [BK PATCHES] " Jeff Garzik
2003-10-14 19:06 Jeff Garzik
2004-10-30 13:32 Jeff Garzik
2005-03-05 18:44 Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).