X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fnatsemi.c;h=0a3e60418e53372beec40c8d50a1a78e086c8534;hb=2c8296f8cf0ec40867965dddef3dfe92f73b38f4;hp=c329a4f5840c7c22ee80a2882343888ea13ffbde;hpb=5db501d7e398c6a838a307adf0347cf6a2b015a3;p=linux-2.6-omap-h63xx.git diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index c329a4f5840..0a3e60418e5 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