aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/tulip
AgeCommit message (Collapse)Author
2006-06-17[NET]: Add netif_tx_lockHerbert Xu
Various drivers use xmit_lock internally to synchronise with their transmission routines. They do so without setting xmit_lock_owner. This is fine as long as netpoll is not in use. With netpoll it is possible for deadlocks to occur if xmit_lock_owner isn't set. This is because if a printk occurs while xmit_lock is held and xmit_lock_owner is not set can cause netpoll to attempt to take xmit_lock recursively. While it is possible to resolve this by getting netpoll to use trylock, it is suboptimal because netpoll's sole objective is to maximise the chance of getting the printk out on the wire. So delaying or dropping the message is to be avoided as much as possible. So the only alternative is to always set xmit_lock_owner. The following patch does this by introducing the netif_tx_lock family of functions that take care of setting/unsetting xmit_lock_owner. I renamed xmit_lock to _xmit_lock to indicate that it should not be used directly. I didn't provide irq versions of the netif_tx_lock functions since xmit_lock is meant to be a BH-disabling lock. This is pretty much a straight text substitution except for a small bug fix in winbond. It currently uses netif_stop_queue/spin_unlock_wait to stop transmission. This is unsafe as an IRQ can potentially wake up the queue. So it is safer to use netif_tx_disable. The hamradio bits used spin_lock_irq but it is unnecessary as xmit_lock must never be taken in an IRQ handler. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-05-20[PATCH] winbond-840-remove-badness-in-pci_map_singleErling A. Jacobsen
Call pci_map_single() with the actual size of the receive buffers, not 0 (which skb->len is initialized to by dev_alloc_skb()). Signed-off-by: Erling A. Jacobsen <linuxcub@email.dk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-29Merge ../linux-2.6Paul Mackerras
2006-03-28[PATCH] Typo fixesAlexey Dobriyan
Fix a lot of typos. Eyeballed by jmc@ in OpenBSD. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-28[PATCH] powerpc: Kill _machine and hard-coded platform numbersBenjamin Herrenschmidt
This removes statically assigned platform numbers and reworks the powerpc platform probe code to use a better mechanism. With this, board support files can simply declare a new machine type with a macro, and implement a probe() function that uses the flattened device-tree to detect if they apply for a given machine. We now have a machine_is() macro that replaces the comparisons of _machine with the various PLATFORM_* constants. This commit also changes various drivers to use the new macro instead of looking at _machine. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-03-22[PATCH] Use after free in net/tulip/de2104x.cEric Sesterhenn
hi, this fixes coverity bug #912, where skb is freed first, and dereferenced a few lines later with skb->len. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11Merge branch 'upstream-fixes'Jeff Garzik
2006-03-09de2104x: fix the TX watchdogFrancois Romieu
Insert de_init_rings() to reinit the rings before de_init_hw() tries to access them again. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-03-09de2104x: prevent interrupt before the interrupt handler is registeredFrancois Romieu
de_init_hw enables the irq thus it must be issued after request_irq. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-09Merge branch 'viro'Jeff Garzik
2006-02-09Merge branch 'net.b0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/birdJeff Garzik
2006-02-07Merge branch 'master'Jeff Garzik
2006-02-07[PATCH] uli526x warning fixAndrew Morton
drivers/net/tulip/uli526x.c: In function `__check_mode': drivers/net/tulip/uli526x.c:1693: warning: return from incompatible pointer type Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-28[PATCH] missing include of asm/irq.h in drivers/netAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-27[PATCH] BUG_ON() Conversion in net/tulip/winbond-840.cEric Sesterhenn / snakebyte
hi, this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27[PATCH] BUG_ON() Conversion in net/tulip/de2104x.cEric Sesterhenn / snakebyte
hi, this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away One of the if()s contains a call to de_is_running(), which seems to be safe to replace, but someone with more knownledge of the code might want to verify this... Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27[PATCH] BUG_ON() Conversion in net/tulip/xircom_cb.cEric Sesterhenn / snakebyte
hi, this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] drivers/net/*: use time_after() and friendsMarcelo Feitoza Parisi
They deal with wrapping correctly and are nicer to read. Also make jiffies-holding variables unsigned long. Signed-off-by: Marcelo Feitoza Parisi <marcelo@feitoza.com.br> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-12[PATCH] replace MODULE_PARM in tulip/uli526x.cEric Sesterhenn / snakebyte
Replace the MODULE_PARM usage in uli526x.c with module_param. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] tulip: enable multiport NIC BIOS fixups for x86_64Christoph Dworzak
A BIOS bug affecting some multiport tulip NICs requires an irq fixup in tulip_core.c. This has only been enabled for i686, but it is needed for x86_64 as well. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28drivers/net: Remove pointless checks for NULL prior to calling kfree()Jesper Juhl
2005-10-18[PATCH] de2104x: Resurrect Cobalt support for 2.6.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/tulip/de2104x.c | 5 +++++ 1 files changed, 5 insertions(+) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03[PATCH] tulip DC21143 rev 48 10Mbit HDX fixPhilippe De Muyter
The patch below is necessary to allow my Digital DS21143 Tulip rev 48 ethernet interface to work in a 10Mbit Half Duplex network. Without it, the driver keeps retrying other modes in an endless loop. It seems like someone already had the same problem with a rev 65 board :) Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-14[PATCH] Correct xircom_cb use of CONFIG_NET_POLL_CONTROLLERKeith Owens
xircom_cb.c does #if CONFIG_NET_POLL_CONTROLLER instead of #ifdef, resulting in drivers/net/tulip/xircom_cb.c:120:5: warning: "CONFIG_NET_POLL_CONTROLLER" is not defined. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-10[PATCH] janitor: tulip/de4x5: list_for_eachDomen Puncer
s/for/list_for_each/ Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-05[PATCH] (4/7) missing include (uli526x)viro@ftp.linux.org.uk
added missing include of dma-mapping.h, removed bogus ptrace.h (what the hell was it doing there, in the first place?) Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-31[netdrvr de2104x] store PCI bus addresses in unsigned longJeff Garzik
BZ# 4475.
2005-08-31[netdrvr tulip] new PCI IDJeff Garzik
Noted in BZ# 2960.
2005-08-20[netdrvr uli526x] fix problems found in reviewPeer Chen
- s/DEVICE/net_device/ - improve formatting - remove dead code - check return value, in several areas
2005-08-11[netdrvr tulip] Remove ULi-specific code from generic tulip driverPeer Chen
It has a separate driver now, 'uli526x'.
2005-07-29[netdrvr] add 'uli526x' driver (a tulip clone)Peer Chen
We want to extract our LAN card driver from tulip core driver and make a new file uli526x.c at tulip folder, because we have added some ethtool interface support and non-eprom support in our driver and may be other change in the futher. If our controllers support are still contained in the tulip core driver, I think it'll increase the complexity of maintenance, you know, tulip core driver include several files and support so many other controllers. Furthermore, I tested the newest kernel 2.6.12 and I found the tulip driver can not work on our lan controller, and I no time to debug it, so I aspired want to make a single uli526x.c file just for our controllers. Could you help us remove the ULi m5261/m5263 lan controller support from tulip core driver and add the new single uli526x.c file for us? Signed-off-by: Peer Chen <Peer.Chen@uli.com.tw> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-06-28[NET]: Remove gratuitous use of skb->tail in network drivers.David S. Miller
Many drivers use skb->tail unnecessarily. In these situations, the code roughly looks like: dev = dev_alloc_skb(...); [optional] skb_reserve(skb, ...); ... skb->tail ... But even if the skb_reserve() happens, skb->data equals skb->tail. So it doesn't make any sense to use anything other than skb->data in these cases. Another case was the s2io.c driver directly mucking with the skb->data and skb->tail pointers. It really just wanted to do an skb_reserve(), so that's what the code was changed to do instead. Another reason I'm making this change as it allows some SKB cleanups I have planned simpler to merge. In those cleanups, skb->head, skb->tail, and skb->end pointers are removed, and replaced with skb->head_room and skb->tail_room integers. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Jeff Garzik <jgarzik@pobox.com>
2005-06-27[PATCH] fix tulip suspend/resume #2Adam Belay
This patch allows the tulip driver to suspend and resume properly. It was originally written by Karsten Keil and then modified by Adam Belay. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Adam Belay <abelay@novell.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-06-27[netdrvr] tulip: add pci idHideki Yamane
2005-06-26[PATCH] dmfe warning fixAndrew Morton
drivers/net/tulip/dmfe.c: In function `dmfe_parse_srom': drivers/net/tulip/dmfe.c:1805: warning: passing arg 1 of `__le16_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type This is basically a guess: Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-06-26Tulip fixes for Cobalt Qube/RaQRalf Baechle
2005-06-26Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6.Jeff Garzik
2005-05-24[PATCH] tulip: add return to ULI526X clause in tulip_mdio_writeJohn W. Linville
The 'if' clause for ULI526X in tulip_mdio_write allows for spin_unlock_irqrestore to be called twice for tp->mii_lock. I believe this is caused by the unintentional omission of a return at the end of that clause. This patch adds that return. Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-05-15[PATCH] Typo in tulip driverJiri Benc
This patch fixes a typo in tulip driver in 2.6.12-rc3.
2005-05-12 [PATCH] drivers/net/tulip/dmfe.c: remove a check after useAdrian Bunk
This patch removes a NULL check that was useles because it happened after the first dereference of the variable. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-05-12 [PATCH] drivers/net/tulip/winbond-840: Use the DMA_32BIT_MASK constantTobias Klauser
The previous patch did not compile cleanly on all architectures so here's a fixed one. Use the DMA_32BIT_MASK constant from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-05-12 [PATCH] drivers/net/tulip/dmfe: Use the DMA_32BIT_MASK constantTobias Klauser
The previous patch did not compile cleanly on all architectures so here's a fixed one. Use the DMA_32BIT_MASK constant from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-04-16[PATCH] u32 vs. pm_message_t fixes for drivers/netPavel Machek
This fixes remaining u32s in drivers/ net. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16Linux-2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!