summaryrefslogtreecommitdiffstats
path: root/drivers/net/natsemi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-02-04 16:43:36 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-02-04 16:43:36 +0100
commita2e4e108c511738fb3bc2bb2fedd593da9913764 (patch)
tree49e4084a383ed43e2d86a36176e197f6b7412a45 /drivers/net/natsemi.c
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 (diff)
parentMerge branch 'fixes' of master.kernel.org:/pub/scm/linux/kernel/git/linville/... (diff)
downloadlinux-a2e4e108c511738fb3bc2bb2fedd593da9913764.tar.xz
linux-a2e4e108c511738fb3bc2bb2fedd593da9913764.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (77 commits) [IPV6]: Reorg struct ifmcaddr6 to save some bytes [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes [DCCP]: Reorganize struct dccp_sock to save 8 bytes [INET6]: Reorganize struct inet6_dev to save 8 bytes [SOCK] proto: Add hashinfo member to struct proto EMAC driver: Fix bug: The clock divisor is set to all ones at reset. EMAC driver: fix bug - invalidate data cache of new_skb->data range when cache is WB EMAC driver: add power down mode EMAC driver: ADSP-BF52x arch/mach support EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log EMAC driver: bf537 MAC multicast hash filtering patch EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK. EMAC driver: shorten the mdelay value to solve netperf performance issue [netdrvr] sis190: build fix sky2: fix Wake On Lan interaction with BIOS sky2: restore multicast addresses after recovery pci-skeleton: Misc fixes to build neatly phylib: Add Realtek 821x eth PHY support natsemi: Update locking documentation PHYLIB: Locking fixes for PHY I/O potentially sleeping ...
Diffstat (limited to 'drivers/net/natsemi.c')
-rw-r--r--drivers/net/natsemi.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index c329a4f5840c..0a3e60418e53 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -203,22 +203,8 @@ skbuff at an offset of "+2", 16-byte aligning the IP header.
IIId. Synchronization
Most operations are synchronized on the np->lock irq spinlock, except the
-performance critical codepaths:
-
-The rx process only runs in the interrupt handler. Access from outside
-the interrupt handler is only permitted after disable_irq().
-
-The rx process usually runs under the netif_tx_lock. If np->intr_tx_reap
-is set, then access is permitted under spin_lock_irq(&np->lock).
-
-Thus configuration functions that want to access everything must call
- disable_irq(dev->irq);
- netif_tx_lock_bh(dev);
- spin_lock_irq(&np->lock);
-
-IV. Notes
-
-NatSemi PCI network controllers are very uncommon.
+recieve and transmit paths which are synchronised using a combination of
+hardware descriptor ownership, disabling interrupts and NAPI poll scheduling.
IVb. References