aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* enic: Bug fix: Reset driver count of registered unicast addresses to zero ↵Vasanthy Kolluri2011-02-172-7/+8
| | | | | | | | | | | | | | during device reset During a device reset, clear the counter for the no. of unicast addresses registered. Also, rename the routines that update unicast and multicast address lists. Signed-off-by: Christian Benvenuti <benve@cisco.com> Signed-off-by: Danny Guo <dannguo@cisco.com> Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com> Signed-off-by: Roopa Prabhu <roprabhu@cisco.com> Signed-off-by: David Wang <dwang2@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Support for managing RX indirection tableTom Herbert2011-02-173-5/+75
| | | | | | | | | Support fetching and retrieving RX indirection table via ethtool. Signed-off-by: Tom Herbert <therbert@google.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-davem' of ↵David S. Miller2011-02-1510-65/+204
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next-2.6
| * sfc: Add TX queues for high-priority trafficBen Hutchings2011-02-157-28/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the ndo_setup_tc() operation with 2 traffic classes. Current Solarstorm controllers do not implement TX queue priority, but they do allow queues to be 'paced' with an enforced delay between packets. Paced and unpaced queues are scheduled in round-robin within two separate hardware bins (paced queues with a large delay may be placed into a third bin temporarily, but we won't use that). If there are queues in both bins, the TX scheduler will alternate between them. If we make high-priority queues unpaced and best-effort queues paced, and high-priority queues are mostly empty, a single high-priority queue can then instantly take 50% of the packet rate regardless of how many of the best-effort queues have descriptors outstanding. We do not actually want an enforced delay between packets on best- effort queues, so we set the pace value to a reserved value that actually results in a delay of 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Distinguish queue lookup from test for queue existenceBen Hutchings2011-02-153-29/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | efx_channel_get_{rx,tx}_queue() currently return NULL if the channel isn't used for traffic in that direction. In most cases this is a bug, but some callers rely on it as an existence test. Add existence test functions efx_channel_has_{rx_queue,tx_queues}() and use them as appropriate. Change efx_channel_get_{rx,tx}_queue() to assert that the requested queue exists. Remove now-redundant initialisation from efx_set_channels(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Move TX queue core queue mapping into tx.cBen Hutchings2011-02-153-4/+10
| | | | | | | | | | | | | | | | | | efx_hard_start_xmit() needs to implement a mapping which is the inverse of tx_queue::core_txq. Move the initialisation of tx_queue::core_txq next to efx_hard_start_xmit() to make the connection more obvious. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * net: Adjust TX queue kobjects if number of queues changes during unregisterBen Hutchings2011-02-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | If the root qdisc for a net device is mqprio, and the driver's ndo_setup_tc() operation dynamically adds and remvoes TX queues, netif_set_real_num_tx_queues() will be called during device unregistration to remove the extra TX queues when the qdisc is destroyed. Currently this causes the corresponding kobjects to be leaked, and the device's reference count never drops to 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sch_mqprio: Always set num_tc to 0 in mqprio_destroy()Ben Hutchings2011-02-141-7/+7
| | | | | | | | | | | | | | | | | | All the cleanup code in mqprio_destroy() is currently conditional on priv->qdiscs being non-null, but that condition should only apply to the per-queue qdisc cleanup. We should always set the number of traffic classes back to 0 here. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | Merge branch 'fec' of git://git.pengutronix.de/git/ukl/linux-2.6David S. Miller2011-02-152-325/+328
|\ \
| * | net/fec: enable flow control and length check on enet-macUwe Kleine-König2011-02-151-11/+13
| | | | | | | | | | | | | | | | | | Also optimize not to reread the value written to FEC_R_CNTRL. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: postpone unsetting driver data until the hardware is stoppedUwe Kleine-König2011-02-151-2/+2
| | | | | | | | | | | | | | | Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: provide device for dma functions and matching sizes for map and unmapUwe Kleine-König2011-02-151-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes warnings when CONFIG_DMA_API_DEBUG=y: NULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x000000004781a020] [size=64 bytes] net eth0: DMA-API: device driver frees DMA memory with different size [device address=0x000000004781a020] [map size=2048 bytes] [unmap size=64 bytes] Moreover pass the platform device to dma_{,un}map_single which makes more sense because the logical network device doesn't know anything about dma. Passing the platform device was a suggestion by Lothar Waßmann. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: reorder functions a bit allows removing forward declarationsUwe Kleine-König2011-02-151-179/+174
| | | | | | | | | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: some whitespace cleanupUwe Kleine-König2011-02-151-11/+11
| | | | | | | | | | | | | | | | | | A few of these were found and reported by Lothar Waßmann. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: consistenly name struct net_device pointers "ndev"Uwe Kleine-König2011-02-151-121/+121
| | | | | | | | | | | | | | | | | | | | | A variable named "dev" usually (usually subjective) points to a struct device. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: add phy_stop to fec_enet_closeUwe Kleine-König2011-02-151-1/+3
| | | | | | | | | | | | | | | | | | | | | This undoes the effects of phy_start in fec_enet_open. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: consolidate all i.MX options to CONFIG_ARMUwe Kleine-König2011-02-152-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moreover stop listing all i.MX platforms featuring a FEC, and use the platform's config symbol that selects registration of a fec device instead. This might make it easier to add new platforms. Set default = y for ARMs having a fec to reduce defconfig sizes. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: put the ioremap cookie immediately into a void __iomem pointerUwe Kleine-König2011-02-151-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | Saving it first into struct net_device->base_addr (which is an unsigned long) is pointless and only needs to use more casts than necessary. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: no need to memzero private dataUwe Kleine-König2011-02-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | alloc_etherdev internally uses kzalloc, so the private data is already zerod out. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: no need to check for validity of ndev in suspend and resumeUwe Kleine-König2011-02-151-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | dev_set_drvdata is called unconditionally in the probe function and so it cannot be NULL. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: don't free an irq that failed to be requestedUwe Kleine-König2011-02-151-2/+1
| | | | | | | | | | | | | | | Reported-by: Lothar Waßmann <LW@KARO-elektronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: release mem_region requested in probe in error path and removeUwe Kleine-König2011-02-151-2/+12
| | | | | | | | | | | | | | | Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | net/fec: no need to cast arguments for memcpyUwe Kleine-König2011-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | memcpy takes a const void * as 2nd argument. So the argument is converted automatically to void * anyhow. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
* | | ipv4: Cache learned redirect information in inetpeer.David S. Miller2011-02-141-94/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that we do not generate the redirect netevent any longer, because we don't create a new cached route. Instead, once the new neighbour is bound to the cached route, we emit a neigh update event instead. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | ipv4: Cache learned PMTU information in inetpeer.David S. Miller2011-02-141-174/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The general idea is that if we learn new PMTU information, we bump the peer genid. This triggers the dst_ops->check() code to validate and if necessary propagate the new PMTU value into the metrics. Learned PMTU information self-expires. This means that it is not necessary to kill a cached route entry just because the PMTU information is too old. As a consequence: 1) When the path appears unreachable (dst_ops->link_failure or dst_ops->negative_advice) we unwind the PMTU state if it is out of date, instead of killing the cached route. A redirected route will still be invalidated in these situations. 2) rt_check_expire(), rt_worker_func(), et al. are no longer necessary at all. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | phy/micrel: add ability to support 50MHz RMII clock on KZS8051RNLBaruch Siach2011-02-142-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform code can now set the MICREL_PHY_50MHZ_CLK bit of dev_flags in a fixup routine (registered with phy_register_fixup_for_uid()), to make the KZS8051RNL PHY work with 50MHz RMII reference clock. Cc: David J. Choi <david.choi@micrel.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | ROSE: AX25: finding routes simplificationBernard Pidoux2011-02-141-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With previous patch, rose_get_neigh() routine investigates the full list of neighbor nodes until it finds or not an already connected node whether it is called locally or through a level 3 transit frame. If no routes are opened through an adjacent connected node then a classical connect request is attempted. Then there is no more reason for an extra loop such as the one removed by this patch. Signed-off-by: Bernard Pidoux <f6bvp@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | ROSE: rose AX25 packet routing improvementBernard Pidoux2011-02-141-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FPAC AX25 packet application is using Linux kernel ROSE routing skills in order to connect or send packets to remote stations knowing their ROSE address via a network of interconnected nodes. Each FPAC node has a ROSE routing table that Linux ROSE module is looking at each time a ROSE frame is relayed by the node or when a connect request to a neighbor node is received. A previous patch improved the system time response by looking at already established routes each time the system was looking for a route to relay a frame. If a neighbor node routing the destination address was already connected, then the frame would be sent through him. If not, a connection request would be issued. The present patch extends the same routing capability to a connect request asked by a user locally connected into an FPAC node. Without this patch, a connect request was not well handled unless it was directed to an immediate connected neighbor of the local node. Implemented at a number of ROSE FPAC node stations, the present patch improved dramatically FPAC ROSE routing time response and efficiency. Signed-off-by: Bernard Pidoux <f6bvp@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | ipv4: fix rcu lock imbalance in fib_select_default()Eric Dumazet2011-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0c838ff1ade7 (ipv4: Consolidate all default route selection implementations.) forgot to remove one rcu_read_unlock() from fib_select_default(). Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | can: c_can: Added support for Bosch C_CAN controllerBhupesh Sharma2011-02-137-0/+1485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bosch C_CAN controller is a full-CAN implementation which is compliant to CAN protocol version 2.0 part A and B. Bosch C_CAN user manual can be obtained from: http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/users_manual_c_can.pdf This patch adds the support for this controller. The following are the design choices made while writing the controller driver: 1. Interface Register set IF1 has be used only in the current design. 2. Out of the 32 Message objects available, 16 are kept aside for RX purposes and the rest for TX purposes. 3. NAPI implementation is such that both the TX and RX paths function in polling mode. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Advance driver versionGuo-Fu Tseng2011-02-131-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Don't show UDP Checksum error if HW misjudgedGuo-Fu Tseng2011-02-131-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some JMicron Chip treat 0 as error checksum for UDP packets. Which should be "No checksum needed". Reported-by: Adam Swift <Adam.Swift@omnitude.net> Confirmed-by: "Aries Lee" <arieslee@jmicron.com> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Refill receive unicase MAC addr after resumeGuo-Fu Tseng2011-02-132-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | The value of the register which holds receive Unicast MAC Address sometimes get messed-up after resume. This patch refill it before enabling the hardware filter. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Safer MAC processor reset sequenceGuo-Fu Tseng2011-02-132-42/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adding control to clk_rx, and makes the control of clk_{rx|tx|tcp} with safer sequence. This sequence is provided by JMicron. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Fix hardware action of full-duplexGuo-Fu Tseng2011-02-132-4/+10
| | | | | | | | | | | | | | | | | | | | | Clear Transmit Timer/Retry setting while full-duplex. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Rename phyfifo function for easier understandGuo-Fu Tseng2011-02-131-6/+6
| | | | | | | | | | | | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Fix bit typo of JMC250A2 workaroundGuo-Fu Tseng2011-02-131-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: PHY Power control for new chipGuo-Fu Tseng2011-02-132-14/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After main chip rev 5, the hardware support more power saving control registers. Some Non-Linux drivers might turn off the phy power with new interfaces, this patch makes it possible for Linux to turn it on again. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | jme: Extract main and sub chip revisionGuo-Fu Tseng2011-02-132-6/+10
| | | | | | | | | | | | | | | | | | | | | Get the main and sub chip revision for later workaround use. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | bridge: implement [add/del]_slave opsJiri Pirko2011-02-132-1/+27
| | | | | | | | | | | | | | | | | | | | | add possibility to addif/delif via rtnetlink Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | bond: implement [add/del]_slave opsJiri Pirko2011-02-131-0/+2
| | | | | | | | | | | | | | | | | | | | | allow enslaving/releasing using netlink interface Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | rtnetlink: implement setting of master deviceJiri Pirko2011-02-132-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows userspace to enslave/release slave devices via netlink interface using IFLA_MASTER. This introduces generic way to add/remove underling devices. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | tlan: Fix bugs introduced by the last tlan cleanup patchSakari Ailus2011-02-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two bugs introduced by the commit c659c38b2796578638548b77ef626d93609ec8ac ("tlan: Code cleanup: checkpatch.pl is relatively happy now.") In that change, TLAN_CSTAT_READY was considered as a bit mask containing a single bit set while it was actually had two set instead. Many thanks to Dan Carpenter for finding the mistake. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | net: make dev->master generalJiri Pirko2011-02-136-20/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dev->master is now tightly connected to bonding driver. This patch makes this pointer more general and ready to be used by others. - netdev_set_master() - bond specifics moved to new function netdev_set_bond_master() - introduced netif_is_bond_slave() to check if device is a bonding slave Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | net: remove the unnecessary dance around skb_bond_should_dropJiri Pirko2011-02-132-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | No need to check (master) twice and to drive in and out the header file. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Reviewed-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | phy: Remove unneeded depends on PHYLIBhartleys2011-02-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unneeded depends on PHYLIB. The config selection is already in an if PHYLIB / endif block. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | network: Allow af_packet to transmit +4 bytes for VLAN packets.Ben Greear2011-02-111-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows user-space to send a '1500' MTU VLAN packet on a 1500 MTU ethernet frame. The extra 4 bytes of a VLAN header is not usually charged against the MTU when other parts of the network stack is transmitting vlans... Signed-off-by: Ben Greear <greearb@candelatech.com> Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-mergeDavid S. Miller2011-02-1111-26/+7
|\ \ \
| * | | batman-adv: Disallow originator addressing within mesh layerLinus Lüssing2011-02-111-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a host in the mesh network, the batman layer should be transparent. However, we had one exception, data packets within the mesh network which have the same destination as a originator are being routed to that node, although there is no host that node's bat0 interface and therefore gets dropped anyway. This commit removes this exception. Signed-off-by: Linus Lüssing <linus.luessing@ascom.ch> Signed-off-by: Sven Eckelmann <sven@narfation.org>
| * | | batman-adv: Remove duplicate types.h inclusionsLinus Lüssing2011-02-1110-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types.h is included by main.h, which is included at the beginning of any other c-file anyway. Therefore this commit removes those duplicate inclussions. Signed-off-by: Linus Lüssing <linus.luessing@ascom.ch> Signed-off-by: Sven Eckelmann <sven@narfation.org>