aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-16sc92031: use netdev_alloc_skbStephen Hemminger
Use netdev_alloc_skb since it handles any NUMA node memory localtion issues and sets skb->dev. Since device driver was not setting skb->dev, I bet filter rules based on device would not work. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16sc92031: start transmit return value bugfixStephen Hemminger
Any negative return value from start_xmit is interpreted as NETDEV_TX_LOCK which is not what this driver wants. It should return 0 (NETDEV_TX_OK) when it consumes a packet. Also, use skb_padto() as the generic way to pad small frames. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16sc92031: use net_device statsStephen Hemminger
Statistics structure is available for use in net_device structure. Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16[netdrvr] tulip: Better MWI workaround for 21143 rev 65 chip errataPeter Horton
This patch works around the MWI bug on the DC21143 rev 65 Tulip by ensuring that the receive buffers don't end on a cache line boundary (as documented in the errata). This patch is required for the MIPS based Cobalt Qube/RaQ as supporting the extra PCI commands seems to reduce the chance of a hard lockup between the Tulip and the PCI bridge. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16[netdrvr] tulip/winbond-840: don't let tulip.h symbol stomp oursJeff Garzik
winbond-840 shares tulip.h with the tulip driver, because they share many (but not all) of the same register definitions. This is useful for the register definitions, but not helpful when it comes to symbols that are shared among the tulip driver's C modules, but not meant to be shared outside that one driver. Thus, PKT_BUF_SZ is a symbol internal to tulip, but it was intruding upon a similar symbol in winbond-840's namespace. This was not a problem as long as the two symbols had the same value, but upcoming patches result in differing symbol values. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16drivers/net/bonding/bond_main.c - remove unnecessary #defineJoe Perches
bond_main.c already #includes <linux/seq_file.h> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16phy: Clean up header styleAndy Fleming
Multi-line comments weren't all CodingStyle compliant Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16phy: Change mii_bus id field to a stringAndy Fleming
Having the id field be an int was making more complex bus topologies excessively difficult. For now, just convert it to a string, and change all instances of "bus->id = val" to snprintf(id, MII_BUS_ID_LEN, "%x", val). Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16gianfar: Support NAPI for TX FramesDai Haruki
Poll the completed TX frames in gfar_poll(). This prevents the tx completion interrupt from interfering with processing of received frames. We also disable hardware rx coalescing when NAPI is enabled. Signed-off-by: Dai Haruki <dai.haruki@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16spidernet: revise link status loggingIshizaki Kou
This patch revises the logging for link informations of spidernet. - The link down message is too verbose because auto-negotiation timeout occurs periodically while an ethernet cable is not connected. - We want to see the link result, and we think it should be displayed. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16spidernet: fix error interrupt handlingIshizaki Kou
In addition to the value of GHIINT0STS, spidernet interrupt handler should check the values of GHIINT1STS/GHIINT2STS registers at the beginning of spider_net_interrupt() so as not to drop error interrupts. GHIINT1STS/GHIINT2STS registers indicates some of erroneous conditions in spidernet, and a few bits of GHIINT0STS register reflects these conditions. But GHIINT0MSK masks these bits, so you should check these conditions by reading GHIINT1STS/GHIINT2STS registers directly. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16spidernet: change interrupt masksIshizaki Kou
This patch changes spidernet interrupt masks. - unmask GDAINVAINT. There is an operation to do by spidernet interrupt handler. - mask some interrupts. There are no operations in the interrupt handler. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16spidernet: increase auto-negotiation timeout to 5 secondsIshizaki Kou
This patch extends the timeout for spidernet auto-negotiation. Auto-negotiation often fails to finish in 2 seconds. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16spidernet: add missing initializationIshizaki Kou
This patch fixes initialization of "aneg_count" and "medium" fields in spider_net_card to make spidernet driver correctly sets "link status". Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Whitespace cleanupAtsushi Nemoto
Cosmetic TAB/whitespace cleanups and some style cleanups. No functional changes. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Use generic PHY layerAtsushi Nemoto
Convert the tc35815 driver to use the generic PHY layer in drivers/net/phy. Also rename 'boardtype' to 'chiptype' which hould be more appropriate. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Use managed pci iomap helperAtsushi Nemoto
Use managed pci functions and kill unnecessary volatiles. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Use netdev_priv()Atsushi Nemoto
Use netdev_priv() instead of dev->priv. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Use print_mac() helperAtsushi Nemoto
Use print_mac() and DECLARE_MAC_BUF(). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16tc35815: Statistics cleanupAtsushi Nemoto
Use struct net_device_stats embedded in struct net_device. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-16mv643xx_eth: update copyrightLennert Buytenhek
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: only print banner onceLennert Buytenhek
When there are multiple mv643xx_eth silicon blocks in the system, don't print an initialisation message for each and every one of them. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: pass port identifier to register accessorsLennert Buytenhek
Pass a struct mv643xx_private * to the register accessor functions, as a preparation for having multiple mv643xx_eth silicon blocks. (Since this causes some 80 column straddling, and the mv_ prefix is useless anyway, rename mv_read to rdl and mv_write to wrl to compensate.) Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: report netdev name in all printksLennert Buytenhek
In error and warning printks, always report the netdevice name instead of the port index (the latter has no meaning when there are multiple mv643xx_eth silicon blocks in the system.) Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: identify ports by struct mv643xx_private *Lennert Buytenhek
Instead of identifying individual mv643xx ethernet ports by only their port number, identify them by their struct mv643xx_private *, as just a port number has no meaning when there are multiple mv643xx_eth silicon blocks in the system. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: various cleanupsLennert Buytenhek
- Remove unused MV643XX_DEFAULT_[RT]X_QUEUE_SIZE definitions. - Remove ETH_TARGET enum -- it isn't used anywhere in the driver, and isn't even valid for non-mv643xx chip models, as those use different MBUS target IDs. - Clean up comment and control flow in mv643xx_eth_change_mtu(). - Use mp->dev instead of mp->mii.dev in mv643xx_eth_tx_timeout_task(). - Make mv643xx_eth_free_tx_descs() static. - Remove overzealous NULL check in mv643xx_eth_start_xmit(). - Use symbolic NETDEV_TX_* constants in mv643xx_eth_start_xmit(). Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16mv643xx_eth: mp->tx_desc_count needs spinlock protectionLennert Buytenhek
mv643xx_eth_start_xmit() should check mp->tx_desc_count only inside the mp->lock spinlock. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
2008-04-16[TCP]: Increase the max_burst threshold from 3 to tp->reordering.John Heffner
This change is necessary to allow cwnd to grow during persistent reordering. Cwnd moderation is applied when in the disorder state and an ack that fills the hole comes in. If the hole was greater than 3 packets, but less than tp->reordering, cwnd will shrink when it should not have. Signed-off-by: John Heffner <jheffner@napa.(none)> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NET]: Do not allocate unneeded memory for dev->priv alignment.Pavel Emelyanov
The alloc_netdev_mq() tries to produce 32-bytes alignment for both the net_device itself and its private data. The second alignment is achieved by adding the NETDEV_ALIGN_CONST to the whole size of the memory to be allocated. However, for those devices that do not need the private area, this addition just makes the net_device weight 1024 + 32 = 1068 bytes, i.e. consume twice as much memory. Since loopback device is such (sizeof_priv == 0 for it), and each net namespace creates one, this can save a noticeable amount of memory for kernel with net namespaces turned on. After this set the lo device is actually allocated from a size-1024 kmem cache on i386 box even with NETPOLL and WIRELESS_EXT turned on. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug for network devices.Denis V. Lunev
dev_set_net is called for - just allocated devices - devices moving from one namespace to another release_net has proper check inside to distinguish these cases. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug to fib rules.Denis V. Lunev
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug for dst ops.Denis V. Lunev
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug for inet bind buckets.Denis V. Lunev
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug into fib_info.Denis V. Lunev
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug for timewait buckets.Denis V. Lunev
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Add netns refcnt debug for kernel sockets.Denis V. Lunev
Protocol control sockets and netlink kernel sockets should not prevent the namespace stop request. They are initialized and disposed in a special way by sk_change_net/sk_release_kernel. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[NETNS]: Make netns refconting debug like a socket one.Denis V. Lunev
Make release_net/hold_net noop for performance-hungry people. This is a debug staff and should be used in the debug mode only. Add check for net != NULL in hold/release calls. This will be required later on. [ Added minor simplifications suggested by Brian Haley. -DaveM ] Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Allow to create IP6 tunnels in net namespaces.Pavel Emelyanov
And no need in some IPPROTO_XXX enabling, since ipv6 code doesn't have any filtering. So, just set proper net and mark device with NETNS_LOCAL. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Use proper net instead of init_net stubs.Pavel Emelyanov
All the ip_route_output_key(), dev_get_by_...() and ipv6_chk_addr() calls are now stubbed with init_net. Fortunately, all the places already have where to get the proper net from. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Make tunnels hashes per-net.Pavel Emelyanov
Move hashes in the struct ip6_tnl_net, replace tnls_xxx[] with ip6n->tnlx_xxx[] and handle init and exit appropriately. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Make the fallback tunnel device per-net.Pavel Emelyanov
All the code, that reference it already has the ip6_tnl_net pointer, so s/ip6_fb_tnl_dev/ip6n->fb_tnl_dev/ and move creation/releasing code into net init/exit ops. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Use proper net in hash-lookup functions.Pavel Emelyanov
Calls to ip6_tnl_lookup were stubbed with init_net - give them a proper one. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Add (ip6_tnl_)net argument to some calls.Pavel Emelyanov
Hashes and fallback device used in them will be per-net. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[IP6TUNNEL]: Introduce empty ip6_tnl_net structure and net ops.Pavel Emelyanov
Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Allow for IPPROTO_IPV6 protocol in namespaces.Pavel Emelyanov
This makes sit-generated traffic enter the namespace. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Allow to create SIT tunnels in net namespaces.Pavel Emelyanov
Set proper net and mark a new device as NETNS_LOCAL before registering. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Use proper net in routing calls.Pavel Emelyanov
I.e. replace init_net stubs in ip_route_output_key() calls. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Make tunnels hashes per-net.Pavel Emelyanov
Just move all the hashes on the sit_net structure and patch the rest of the code appropriately. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Make the fallback tunnel device per-netPavel Emelyanov
Allocate and register one in sit_init_net, use sitn->fb_tunnel_dev over the code and unregister one in sit_exit_net. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-04-16[SIT]: Use proper net in hash-lookup functions.Pavel Emelyanov
Replace introduced in the previous patch init_net stubs with the proper net pointer. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>