18 Jan, 2012

1 commit


17 Jan, 2012

17 commits

  • Disable the work-around for the autoneg KR of the BCM57810 in case the Warpcore version is 0xD108 and above, which fixes this problem.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • Disable the autoGrEEEn feature for BCM84833.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • Remove unsupported speed of 100Mb force for BCM84833 due to hardware
    limitation.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • This patch handles the second port of a path in a 4-port device of
    BCM57840.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • The Super-Isolate mode comes to isolate the BCM84833 PHY from the
    outside world. Not doing it correctly, made link partner see the link
    before the driver was loaded.

    This patch also involves SPIROM version fixes since it is used to
    determine whether the common init of the PHY was already executed, and
    the common init of this PHY is partially responsible for setting the
    Super-Isolate mode.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • -----
    drivers/net/ethernet/renesas/sh_eth.c:1706: error: 'pdid' undeclared (first use in this function)
    drivers/net/ethernet/renesas/sh_eth.c:1706: error: (Each undeclared identifier is reported only once
    drivers/net/ethernet/renesas/sh_eth.c:1706: error: for each function it appears in.)
    make[5]: *** [drivers/net/ethernet/renesas/sh_eth.o] Error 1
    -----

    Signed-off-by: Nobuhiro Iwamatsu
    CC: Florian Fainelli
    Signed-off-by: David S. Miller

    Nobuhiro Iwamatsu
     
  • Fixing following sparse warning
    >drivers/net/wireless/mwl8k.c:2780:15: warning: incorrect type in assignment (different base types)
    >drivers/net/wireless/mwl8k.c:2780:15: expected restricted unsigned short [usertype] channel
    >drivers/net/wireless/mwl8k.c:2780:15: got unsigned short [unsigned] [usertype] hw_value

    Signed-off-by: Yogesh Ashok Powar
    Signed-off-by: John W. Linville

    Yogesh Ashok Powar
     
  • The intent here was to check whether key->cipher was WEP40 or WEP104.
    We do a similar check correctly in several other places in this file.
    The current condition is always true.

    Signed-off-by: Dan Carpenter
    Signed-off-by: John W. Linville

    Dan Carpenter
     
  • Alexandre Oliva says:

    "It's an issue brought about by GCC 4.7's partial-inlining, that ends up
    splitting the udelay function just at the wrong spot, in such a way that
    some sanity checks for constants fails, and we end up calling
    bad_udelay.

    This patch fixes the problem. Feel free to push it upstream if it makes
    sense to you."

    Signed-off-by: John W. Linville

    Alexandre Oliva
     
  • Some functions and variables in ehea are only used in their own file, so
    they should be static. One particular function had a very generic name,
    print_error_data.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: David S. Miller

    Thadeu Lima de Souza Cascardo
     
  • The brcmsmac driver isn't a PCI driver any more, it's a bcma one. The
    PCI device has been resumed by the PCI driver (the generic PCI layer,
    really), we should be resuming just our own driver state.

    Also add pr_debug() calls to show that we now actually get the
    suspend/resume events.

    Signed-off-by: Linus Torvalds
    Signed-off-by: John W. Linville

    Linus Torvalds
     
  • Now the low-level driver actually gets informed that it is getting suspended and resumed.

    Signed-off-by: Linus Torvalds
    Signed-off-by: John W. Linville

    Linus Torvalds
     
  • .. and connect it up with the pci host bcma driver.

    Now, the next step is to connect those bcma bus-level suspend/resume
    functions to the actual bcma device suspend resume functions.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Linus Torvalds
     
  • .. and avoid doing the unnecessary PCI operations - the PCI layer will
    do them for us.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Linus Torvalds
     
  • Fix the following build warning:

    drivers/net/wireless/iwlwifi/iwl-scan.c: In function ‘iwlagn_request_scan’:
    drivers/net/wireless/iwlwifi/iwl-scan.c:572: warning: ‘cmd_len’ may be used uninitialized in this function

    Signed-off-by: Fabio Estevam
    Acked-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Fabio Estevam
     
  • Documentation states that the KeyMiss flag is only valid if RxFrameOK is
    unset, however empirical evidence has shown that this is false.
    When KeyMiss is set (and RxFrameOK is 1), the hardware passes a valid frame
    which has not been decrypted. The driver then falsely marks the frame
    as decrypted, and when using CCMP this corrupts the rx CCMP PN, leading
    to connection hangs.

    Signed-off-by: Felix Fietkau
    Cc: stable@kernel.org
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • This clears the currently mapped core when suspending, to force
    re-mapping after resume. Without that we were touching default core
    registers believing some other core is mapped. Such a behaviour
    resulted in lockups on some machines.

    Cc: stable@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

14 Jan, 2012

4 commits

  • Same devices can generate interrupt without properly setting bit in
    INT_SOURCE_CSR register (spurious interrupt), what will cause IRQ line
    will be disabled by interrupts controller driver.

    We discovered that clearing INT_MASK_CSR stops such behaviour. We
    previously first read that register, and then clear all know interrupt
    sources bits and do not touch reserved bits. After this patch, we write
    to all register content (I believe writing to reserved bits on that
    register will not cause any problems, I tested that on my rt2800pci
    device).

    This fix very bad performance problem, practically making device
    unusable (since worked without interrupts), reported in:
    https://bugzilla.redhat.com/show_bug.cgi?id=658451

    We previously tried to workaround that issue in commit
    4ba7d9997869d25bd223dea7536fc1ce9fab3b3b "rt2800pci: handle spurious
    interrupts", but it was reverted in commit
    82e5fc2a34fa9ffea38f00c4066b7e600a0ca5e6
    as thing, that will prevent to detect real spurious interrupts.

    Reported-and-tested-by: Amir Hedayaty
    Cc: stable@vger.kernel.org
    Signed-off-by: Stanislaw Gruszka
    Acked-by: Gertjan van Wingerde
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     
  • This is basically just a cleanup. Large positive numbers get counted as
    negative but then get implicitly cast to positive again for the checks
    that matter.

    This does make a small difference in ipw_handle_promiscuous_rx() when we
    test "if (unlikely((len + IPW_RX_FRAME_SIZE) > skb_tailroom(rxb->skb)))"
    It should return there, but we don't return until a couple lines later
    when we test "if (len > IPW_RX_BUF_SIZE - sizeof(struct ipw_rt_hdr)) {".
    The difference is that in the second test the sizeof() means that there
    is an implied cast to unsigned.

    Signed-off-by: Dan Carpenter
    Reviewed-by: Stanislaw Gruszka
    Signed-off-by: John W. Linville

    Dan Carpenter
     
  • An Oops has once been observed, when the SDIO card had been ejected during
    IO. The PC value shows, that the dev pointer in b43_op_stop() was NULL.

    (I moved the NULL check before the lock, based upon a suggestion from
    Julian Calaby . -- JWL)

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: John W. Linville

    Guennadi Liakhovetski
     
  • By adding some module aliases, programs (or users) won't have to explicitly
    call modprobe. Vhost-net will always be available if built into the kernel.
    It does require assigning a permanent minor number for depmod to work.

    Also:
    - use C99 style initialization.
    - add missing entry in documentation for loop-control

    Signed-off-by: Stephen Hemminger
    Acked-By: Kay Sievers
    Signed-off-by: David S. Miller

    stephen hemminger
     

13 Jan, 2012

18 commits

  • Andrew explains:

    - various misc stuff

    - Most of the rest of MM: memcg, threaded hugepages, others.

    - cpumask

    - kexec

    - kdump

    - some direct-io performance tweaking

    - radix-tree optimisations

    - new selftests code

    A note on this: often people will develop a new userspace-visible
    feature and will develop userspace code to exercise/test that
    feature. Then they merge the patch and the selftest code dies.
    Sometimes we paste it into the changelog. Sometimes the code gets
    thrown into Documentation/(!).

    This saddens me. So this patch creates a bare-bones framework which
    will henceforth allow me to ask people to include their test apps in
    the kernel tree so we can keep them alive. Then when people enhance
    or fix the feature, I can ask them to update the test app too.

    The infrastruture is terribly trivial at present - let's see how it
    evolves.

    - checkpoint/restart feature work.

    A note on this: this is a project by various mad Russians to perform
    c/r mainly from userspace, with various oddball helper code added
    into the kernel where the need is demonstrated.

    So rather than some large central lump of code, what we have is
    little bits and pieces popping up in various places which either
    expose something new or which permit something which is normally
    kernel-private to be modified.

    The overall project is an ongoing thing. I've judged that the size
    and scope of the thing means that we're more likely to be successful
    with it if we integrate the support into mainline piecemeal rather
    than allowing it all to develop out-of-tree.

    However I'm less confident than the developers that it will all
    eventually work! So what I'm asking them to do is to wrap each piece
    of new code inside CONFIG_CHECKPOINT_RESTORE. So if it all
    eventually comes to tears and the project as a whole fails, it should
    be a simple matter to go through and delete all trace of it.

    This lot pretty much wraps up the -rc1 merge for me.

    * akpm: (96 commits)
    unlzo: fix input buffer free
    ramoops: update parameters only after successful init
    ramoops: fix use of rounddown_pow_of_two()
    c/r: prctl: add PR_SET_MM codes to set up mm_struct entries
    c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4
    c/r: introduce CHECKPOINT_RESTORE symbol
    selftests: new x86 breakpoints selftest
    selftests: new very basic kernel selftests directory
    radix_tree: take radix_tree_path off stack
    radix_tree: remove radix_tree_indirect_to_ptr()
    dio: optimize cache misses in the submission path
    vfs: cache request_queue in struct block_device
    fs/direct-io.c: calculate fs_count correctly in get_more_blocks()
    drivers/parport/parport_pc.c: fix warnings
    panic: don't print redundant backtraces on oops
    sysctl: add the kernel.ns_last_pid control
    kdump: add udev events for memory online/offline
    include/linux/crash_dump.h needs elf.h
    kdump: fix crash_kexec()/smp_send_stop() race in panic()
    kdump: crashk_res init check for /sys/kernel/kexec_crash_size
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
    pptp: Accept packet with seq zero
    RDS: Remove some unused iWARP code
    net: fsl: fec: handle 10Mbps speed in RMII mode
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c: add missing iounmap
    drivers/net/ethernet/tundra/tsi108_eth.c: add missing iounmap
    ksz884x: fix mtu for VLAN
    net_sched: sfq: add optional RED on top of SFQ
    dp83640: Fix NOHZ local_softirq_pending 08 warning
    gianfar: Fix invalid TX frames returned on error queue when time stamping
    gianfar: Fix missing sock reference when processing TX time stamps
    phylib: introduce mdiobus_alloc_size()
    net: decrement memcg jump label when limit, not usage, is changed
    net: reintroduce missing rcu_assign_pointer() calls
    inet_diag: Rename inet_diag_req_compat into inet_diag_req
    inet_diag: Rename inet_diag_req into inet_diag_req_v2
    bond_alb: don't disable softirq under bond_alb_xmit
    mac80211: fix rx->key NULL pointer dereference in promiscuous mode
    nl80211: fix old station flags compatibility
    mdio-octeon: use an unique MDIO bus name.
    mdio-gpio: use an unique MDIO bus name.
    ...

    Linus Torvalds
     
  • If a platform device exists on the system, but ramoops fails to attach to
    it, the module parameters are overridden before ramoops can fall back and
    try to use passed module parameters. Move update to end of init routine.

    Signed-off-by: Kees Cook
    Cc: Marco Stornelli
    Cc: Sergiu Iordache
    Cc: Seiji Aguchi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • The return value of rounddown_pow_of_two wasn't evaluated, so the
    operation was a no-op.

    Signed-off-by: Marco Stornelli
    Reported-by: Andrew Morton
    Reviewed-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marco Stornelli
     
  • drivers/parport/parport_pc.c: In function '__check_irq':
    drivers/parport/parport_pc.c:3415: warning: return from incompatible pointer type
    drivers/parport/parport_pc.c: In function '__check_dma':
    drivers/parport/parport_pc.c:3417: warning: return from incompatible pointer type

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Currently no udev events for memory hotplug "online" and "offline" are
    generated:

    # udevadm monitor
    # echo offline > /sys/devices/system/memory/memory4/state
    ==> No event

    When kdump is loaded, kexec detects the current memory configuration and
    stores it in the pre-allocated ELF core header. Therefore, for kdump it
    is necessary to reload the kdump kernel with kexec when the memory
    configuration changes (e.g. for online/offline hotplug memory).

    In order to do this automatically, udev rules should be used. This kernel
    patch adds udev events for "online" and "offline". Together with this
    kernel patch, the following udev rules for online/offline have to be added
    to "/etc/udev/rules.d/98-kexec.rules":

    SUBSYSTEM=="memory", ACTION=="online", PROGRAM="/etc/init.d/kdump restart"
    SUBSYSTEM=="memory", ACTION=="offline", PROGRAM="/etc/init.d/kdump restart"

    [sfr@canb.auug.org.au: fixups for class to subsystem conversion]
    Signed-off-by: Michael Holzheu
    Cc: Heiko Carstens
    Cc: Vivek Goyal
    Cc: "Eric W. Biederman"
    Cc: Kay Sievers
    Cc: Dave Hansen
    Cc: Martin Schwidefsky
    Cc: Greg KH
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     
  • KMSG_DUMP_KEXEC is useless because we already save kernel messages inside
    /proc/vmcore, and it is unsafe to allow modules to do other stuffs in a
    crash dump scenario.

    [akpm@linux-foundation.org: fix powerpc build]
    Signed-off-by: WANG Cong
    Reported-by: Vivek Goyal
    Acked-by: Vivek Goyal
    Acked-by: Jarod Wilson
    Cc: "Eric W. Biederman"
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Fix the int/bool confusion in there.

    drivers/video/nvidia/nvidia.c:1602: warning: return from incompatible pointer type

    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Initialize the PPTP "seq received" value to 0xffffffff, so we don't
    ignore packets with seq zero.

    Signed-off-by: Bradley Peterson
    Signed-off-by: David S. Miller

    Bradley Peterson
     
  • when the link is 10 Mbps and the mode is RMII, it's necessary
    to set FRCONT to 1 in MIIGSK_CFGR to divide the RMII source
    clock by 10 in order to support 10 Mbps operations.

    Signed-off-by: Eric Bénard
    Acked-by: Shawn Guo
    Signed-off-by: David S. Miller

    Eric Benard
     
  • Add missing iounmap in error handling code, in a case where the function
    already preforms iounmap on some other execution path.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    expression e;
    statement S,S1;
    int ret;
    @@
    e = \(ioremap\|ioremap_nocache\)(...)
    ... when != iounmap(e)
    if () S
    ... when any
    when != iounmap(e)
    *if (...)
    { ... when != iounmap(e)
    return ...; }
    ... when any
    iounmap(e);
    //

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

    Julia Lawall
     
  • Add missing iounmap in error handling code, in a case where the function
    already preforms iounmap on some other execution path.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    expression e;
    statement S,S1;
    int ret;
    @@
    e = \(ioremap\|ioremap_nocache\)(...)
    ... when != iounmap(e)
    if () S
    ... when any
    when != iounmap(e)
    *if (...)
    { ... when != iounmap(e)
    return ...; }
    ... when any
    iounmap(e);
    //

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

    Julia Lawall
     
  • The Ethernet header does not account for the addition of a VLAN header.
    Full size Ethernet frames containing VLAN header are not processed
    because the frame is larger than the resulting hw mtu.

    Signed-off-by: Doug Kehn
    Signed-off-by: David S. Miller

    Doug Kehn
     
  • Similar problem as in 481a8199142c050b72bff8a1956a49fd0a75bbe0 ("can:
    fix NOHZ local_softirq_pending 08 warning"). This fix replaces
    netif_rx() with netif_rx_ni() which has to be used from
    process/softirq context.

    Signed-off-by: Manfred Rudigier
    Signed-off-by: David S. Miller

    Manfred Rudigier
     
  • When TX time stamping for PTP messages is enabled on a socket, a time
    stamp is returned on the socket error queue to the user space application
    after the frame was transmitted. The transmitted frame is also returned on
    the error queue so that an application knows to which frame the time stamp
    belongs.

    In the current implementation the TxFCB is immediately followed by the
    frame. Since the eTSEC inserts the TX time stamp 8 bytes after the TxFCB,
    parts of the frame have been overwritten and an invalid frame was returned
    on the socket error queue.

    This patch fixes the described problem by adding additional 16 padding
    bytes between the TxFCB and the frame for all messages sent from a time
    stamping enabled socket (other sockets are not affected).

    Signed-off-by: Manfred Rudigier
    Signed-off-by: David S. Miller

    Manfred Rudigier
     
  • When there is not enough headroom in the skb a private copy will be made.
    However, the private copy had no reference to the socket and consequently
    no time stamp could be queued on the socket error queue during the
    skb_tstamp_tx function. This patch fixes this issue by also stealing the
    sock reference from the original skb after making the private copy.

    Signed-off-by: Manfred Rudigier
    Signed-off-by: David S. Miller

    Manfred Rudigier
     
  • Introduce function mdiobus_alloc_size() as an alternative to mdiobus_alloc().
    Most callers of mdiobus_alloc() also allocate a private data structure, and
    then manually point bus->priv to this object. mdiobus_alloc_size()
    combines the two operations into one, which simplifies memory management.

    The original mdiobus_alloc() now just calls mdiobus_alloc_size(0).

    Signed-off-by: Timur Tabi
    Signed-off-by: David S. Miller

    Timur Tabi
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: bcm5974 - set BUTTONPAD property
    Input: serio_raw - return proper result when serio_raw_write fails
    Input: serio_raw - really signal HUP upon disconnect
    Input: serio_raw - remove stray semicolon
    Input: revert some over-zealous conversions to module_platform_driver()

    Linus Torvalds