31 Mar, 2011

1 commit


30 Mar, 2011

1 commit

  • …el/git/tip/linux-2.6-tip

    * 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (111 commits)
    gpio: ab8500: Mark broken
    genirq: Remove move_*irq leftovers
    genirq: Remove compat code
    drivers: Final irq namespace conversion
    mn10300: Use generic show_interrupts()
    mn10300: Cleanup irq_desc access
    mn10300: Convert genirq namespace
    frv: Use generic show_interrupts()
    frv: Convert genirq namespace
    frv: Select GENERIC_HARDIRQS_NO_DEPRECATED
    frv: Convert cpu irq_chip to new functions
    frv: Convert mb93493 irq_chip to new functions
    frv: Convert mb93093 irq_chip to new function
    frv: Convert mb93091 irq_chip to new functions
    frv: Fix typo from __do_IRQ overhaul
    frv: Remove stale irq_chip.end
    m68k: Convert irq function namespace
    xen: Use new irq_move functions
    xen: Cleanup genirq namespace
    unicore32: Use generic show_interrupts()
    ...

    Linus Torvalds
     

29 Mar, 2011

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    xfrm: Restrict extended sequence numbers to esp
    xfrm: Check for esn buffer len in xfrm_new_ae
    xfrm: Assign esn pointers when cloning a state
    xfrm: Move the test on replay window size into the replay check functions
    netdev: bfin_mac: document TE setting in RMII modes
    drivers net: Fix declaration ordering in inline functions.
    cxgb3: Apply interrupt coalescing settings to all queues
    net: Always allocate at least 16 skb frags regardless of page size
    ipv4: Don't ip_rt_put() an error pointer in RAW sockets.
    net: fix ethtool->set_flags not intended -EINVAL return value
    mlx4_en: Fix loss of promiscuity
    tg3: Fix inline keyword usage
    tg3: use and instead and
    net: use CHECKSUM_NONE instead of magic number
    Net / jme: Do not use legacy PCI power management
    myri10ge: small rx_done refactoring
    bridge: notify applications if address of bridge device changes
    ipv4: Fix IP timestamp option (IPOPT_TS_PRESPEC) handling in ip_options_echo()
    can: c_can: Fix tx_bytes accounting
    can: c_can_platform: fix irq check in probe
    ...

    Linus Torvalds
     
  • Scripted with coccinelle.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The current code sometimes generates build warnings due to how it checks
    the silicon revision, so clean it up and properly document things.

    Signed-off-by: Mike Frysinger
    Signed-off-by: David S. Miller

    Mike Frysinger
     
  • The correct usage should be "static inline void" instead of "static void inline"

    Signed-off-by: G.Balaji
    Signed-off-by: David S. Miller

    Balaji G
     
  • While testing the performance of different receive interrupt
    coalescing settings on a single stream TCP benchmark, I noticed two
    very different results. With rx-usecs=50, most of the time a
    connection would hit 8280 Mbps but once in a while it would hit
    9330 Mbps.

    It turns out we are only applying the interrupt coalescing settings
    to the first queue and whenever the rx hash would direct us onto
    that queue we ran faster.

    With this patch applied and rx-usecs=50, I get 9330 Mbps
    consistently.

    Signed-off-by: Anton Blanchard
    Acked-by: Divy Le Ray
    Signed-off-by: David S. Miller

    Anton Blanchard
     

28 Mar, 2011

10 commits

  • After commit d5dbda23804156ae6f35025ade5307a49d1db6d7 "ethtool: Add
    support for vlan accleration.", drivers that have NETIF_F_HW_VLAN_TX,
    and/or NETIF_F_HW_VLAN_RX feature, but do not allow enable/disable vlan
    acceleration via ethtool set_flags, always return -EINVAL from that
    function. Fix by returning -EINVAL only if requested features do not
    match current settings and can not be changed by driver.

    Change any driver that define ethtool->set_flags to use
    ethtool_invalid_flags() to avoid similar problems in the future
    (also on drivers that do not have the problem).

    Tested with modified (to reproduce this bug) myri10ge driver.

    Cc: stable@kernel.org # 2.6.37+
    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: David S. Miller

    Stanislaw Gruszka
     
  • The mlx4_en driver uses the combination stop_port/start_port
    in a number of places. Unfortunately that causes any promiscuous
    mode settings on the hardware to be lost.

    This patch fixes that problem.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The correct usage is "static inline void" not "static void inline".

    Signed-off-by: Javier Martinez Canillas
    Signed-off-by: David S. Miller

    Javier Martinez Canillas
     
  • It is proper style to include linux/foo.h instead asm/foo.h if both exist

    Signed-off-by: Javier Martinez Canillas
    Signed-off-by: David S. Miller

    Javier Martinez Canillas
     
  • Two places in the kernel were doing skb->ip_summed = 0.

    Change both to skb->ip_summed = CHECKSUM_NONE, which is more readable.

    Signed-off-by: Cesar Eduardo Barros
    Signed-off-by: David S. Miller

    Cesar Eduardo Barros
     
  • The jme driver uses the legacy PCI power management, so it has to do
    some PCI-specific things in its ->suspend() and ->resume() callbacks,
    which isn't necessary and should better be done by the PCI
    sybsystem-level power management code. It also doesn't use device
    wakeup flags correctly.

    Convert jme to the new PCI power management framework and make it
    let the PCI subsystem take care of all the PCI-specific aspects of
    device handling during system power transitions.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: David S. Miller

    Rafael J. Wysocki
     
  • Avoid theoretical race condition regarding accessing dev->features
    NETIF_F_LRO flag, which is illustrated below.

    CPU1 CPU2

    myri10ge_clean_rx_done(): myri10ge_set_flags():
    or
    myri10ge_set_rx_csum():

    if (dev->features & NETIF_F_LRO)
    setup lro
    dev->features |= NETIF_F_LRO
    or
    dev->features &= ~NETIF_F_LRO;
    if (dev->features & NETIF_F_LRO)
    flush lro

    On the way reduce myri10ge_rx_done() number of arguments and calls by
    moving mgp->small_bytes check into that function. That reduce code size

    from:
    text data bss dec hex filename
    36644 248 100 36992 9080 drivers/net/myri10ge/myri10ge.o

    to:
    text data bss dec hex filename
    36037 247 100 36384 8e20 drivers/net/myri10ge/myri10ge.o

    on my i686 system, what should also make myri10ge_clean_rx_done()
    being faster.

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: David S. Miller

    Stanislaw Gruszka
     
  • The current SocketCAN implementation for the Bosch c_can cell doesn't
    account the TX bytes correctly, because it calls
    c_can_inval_msg_object() (which clears the msg ctrl register) before
    reading the DLC value:

    for (/* nix */; (priv->tx_next - priv->tx_echo) > 0; priv->tx_echo++) {
    msg_obj_no = get_tx_echo_msg_obj(priv);
    c_can_inval_msg_object(dev, 0, msg_obj_no);
    val = c_can_read_reg32(priv, &priv->regs->txrqst1);
    if (!(val & (1 << msg_obj_no))) {
    can_get_echo_skb(dev,
    msg_obj_no - C_CAN_MSG_OBJ_TX_FIRST);
    stats->tx_bytes += priv->read_reg(priv,
    &priv->regs->ifregs[0].msg_cntrl)
    & IF_MCONT_DLC_MASK;
    stats->tx_packets++;
    }
    }

    So, we will always read 0 for the DLC value and "ifconfig" will report
    *0* TX Bytes.

    The fix is quite easy: Just move c_can_inval_msg_object() to the end of
    the if() statement. So:
    * We only call c_can_inval_msg_object() if the message was
    actually transmitted
    * We read out the DLC value _before_ clearing the msg ctrl
    register

    Signed-off-by: Jan Altenberg
    Acked-by: Kurt Van Dijck
    Acked-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Jan Altenberg
     
  • This patch fixes the check in the probe function whether a IRQ was supplied
    to the driver. The original driver check the irq "struct resource *" against

    Cc: Bhupesh Sharma
    Signed-off-by: David S. Miller

    Marc Kleine-Budde
     
  • This patch disables the one shot mode, until the driver has been fixed and
    tested to support it.

    > I'm quite sure I've seen a situation where msg_obj 17 "seemed" to be
    > pending, while msg_obj 18 and 19 already have been transmitted. But
    > in that case, I enabled ONESHOT for the can interface, which enables
    > the DA mode (automatic retransmission is disabled).

    Reported-by: Jan Altenberg
    Signed-off-by: Marc Kleine-Budde
    Signed-off-by: Kurt Van Dijck
    Cc: Bhupesh Sharma
    Acked-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Marc Kleine-Budde
     

26 Mar, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)
    route: Take the right src and dst addresses in ip_route_newports
    ipv4: Fix nexthop caching wrt. scoping.
    ipv4: Invalidate nexthop cache nh_saddr more correctly.
    net: fix pch_gbe section mismatch warning
    ipv4: fix fib metrics
    mlx4_en: Removing HW info from ethtool -i report.
    net_sched: fix THROTTLED/RUNNING race
    drivers/net/a2065.c: Convert release_resource to release_region/release_mem_region
    drivers/net/ariadne.c: Convert release_resource to release_region/release_mem_region
    bonding: fix rx_handler locking
    myri10ge: fix rmmod crash
    mlx4_en: updated driver version to 1.5.4.1
    mlx4_en: Using blue flame support
    mlx4_core: reserve UARs for userspace consumers
    mlx4_core: maintain available field in bitmap allocator
    mlx4: Add blue flame support for kernel consumers
    mlx4_en: Enabling new steering
    mlx4: Add support for promiscuous mode in the new steering model.
    mlx4: generalization of multicast steering.
    mlx4_en: Reporting HW revision in ethtool -i
    ...

    Linus Torvalds
     

25 Mar, 2011

3 commits


24 Mar, 2011

19 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB: Increase DMA max_segment_size on Mellanox hardware
    IB/mad: Improve an error message so error code is included
    RDMA/nes: Don't print success message at level KERN_ERR
    RDMA/addr: Fix return of uninitialized ret value
    IB/srp: try to use larger FMR sizes to cover our mappings
    IB/srp: add support for indirect tables that don't fit in SRP_CMD
    IB/srp: rework mapping engine to use multiple FMR entries
    IB/srp: allow sg_tablesize to be set for each target
    IB/srp: move IB CM setup completion into its own function
    IB/srp: always avoid non-zero offsets into an FMR

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (90 commits)
    mfd: Push byte swaps out of wm8994 bulk read path
    mfd: Rename ab8500 gpadc header
    mfd: Constify WM8994 write path
    mfd: Push byte swap out of WM8994 bulk I/O
    mfd: Avoid copying data in WM8994 I2C write
    mfd: Remove copy from WM831x I2C write function
    mfd: Staticise WM8994 PM ops
    regulator: Add a subdriver for TI TPS6105x regulator portions v2
    mfd: Add a core driver for TI TPS61050/TPS61052 chips v2
    gpio: Add Tunnel Creek support to sch_gpio
    mfd: Add Tunnel Creek support to lpc_sch
    pci_ids: Add Intel Tunnel Creek LPC Bridge device ID.
    regulator: MAX8997/8966 support
    mfd: Add WM8994 bulk register write operation
    mfd: Append additional read write on 88pm860x
    mfd: Adopt mfd_data in 88pm860x input driver
    mfd: Adopt mfd_data in 88pm860x regulator
    mfd: Adopt mfd_data in 88pm860x led
    mfd: Adopt mfd_data in 88pm860x backlight
    mfd: Fix MAX8997 Kconfig entry typos
    ...

    Linus Torvalds
     
  • Subsystem initialization sequence modified to support presence of multiple
    RapidIO controllers in the system. The new sequence is compatible with
    initialization of PCI devices.

    Signed-off-by: Alexandre Bounine
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Thomas Moll
    Cc: Micha Nelissen
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • 1. Add an option to include RapidIO support if the PCI is available.
    2. Add FSL_RIO configuration option to enable controller selection.
    3. Add RapidIO support option into x86 and MIPS architectures.

    Signed-off-by: Alexandre Bounine
    Acked-by: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Thomas Moll
    Cc: Micha Nelissen
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • David S. Miller
     
  • Request_mem_region should be used with release_mem_region, not
    release_resource.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression x,E;
    @@
    *x = request_mem_region(...)
    ... when != release_mem_region(x)
    when != x = E
    * release_resource(x);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • Request_mem_region should be used with release_mem_region, not
    release_resource.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression x,E;
    @@
    *x = request_mem_region(...)
    ... when != release_mem_region(x)
    when != x = E
    * release_resource(x);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • This prevents possible race between bond_enslave and bond_handle_frame
    as reported by Nicolas by moving rx_handler register/unregister.
    slave->bond is added to hold pointer to master bonding sructure. That
    way dev->master is no longer used in bond_handler_frame.
    Also, this removes "BUG: scheduling while atomic" message

    Reported-by: Nicolas de Pesloüan
    Signed-off-by: Jiri Pirko
    Signed-off-by: Andy Gospodarek
    Tested-by: Nicolas de Pesloüan
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Rmmod myri10ge crash at free_netdev() -> netif_napi_del(), because napi
    structures are already deallocated. To fix call netif_napi_del() before
    kfree() at myri10ge_free_slices().

    Cc: stable@kernel.org
    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: David S. Miller

    Stanislaw Gruszka
     
  • Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • Doorbell is used according to usage of BlueFlame.
    For Blue Flame to work in Ethernet mode QP number should have 0
    at bits 6,7.
    Allocating range of QPs accordingly.

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • Do not allow a kernel consumer to allocate a UAR to serve for blue flame if the
    number of available UARs gets below MLX4_NUM_RESERVED_UARS (currently 8). This
    will allow userspace apps to open a device file and run things like
    ibv_devinfo.

    Signed-off-by: Eli Cohen
    Signed-off-by: David S. Miller

    Eli Cohen
     
  • Add mlx4_bitmap_avail() to give the number of available resources. We want to
    use this as a hint to whether to allocate a resources or not. This patch is
    introduced to be used with allocation blue flame registers.

    Signed-off-by: Eli Cohen
    Signed-off-by: David S. Miller

    Eli Cohen
     
  • Using blue flame can improve latency by allowing the HW to more efficiently
    access the WQE. This patch presents two functions that are used to allocate or
    release HW resources for using blue flame; the caller need to supply a struct
    mlx4_bf object when allocating resources. Consumers that make use of this API
    should post doorbells to the UAR object pointed by the initialized struct
    mlx4_bf;

    Signed-off-by: Eli Cohen
    Signed-off-by: David S. Miller

    Eli Cohen
     
  • The mlx4_en module now uses the new steering mechanism.
    The RX packets are now steered through the MCG table instead
    of Mac table for unicast, and default entry for multicast.
    The feature is enabled through INIT_HCA

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • For Ethernet mode only,
    When we want to register QP as promiscuous, it must be added to all the
    existing steering entries and also to the default one.
    The promiscuous QP might also be on of "real" QPs,
    which means we need to monitor every entry to avoid duplicates and ensure
    we close an entry when all it has is promiscuous QPs.
    Same mechanism both for unicast and multicast.

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • The same packet steering mechanism would be used both for IB and Ethernet,
    Both multicasts and unicasts.
    This commit prepares the general infrastructure for this.

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • HW revision is derived from device ID and rev id.

    Signed-off-by: Eugenia Emantayev
    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • The driver queries the FW for WOL support.
    Ethtool get/set_wol is implemented accordingly.
    Only magic packets are supported at the time.

    Signed-off-by: Igor Yarovinsky
    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin