25 Oct, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)
    dp83640: free packet queues on remove
    dp83640: use proper function to free transmit time stamping packets
    ipv6: Do not use routes from locally generated RAs
    |PATCH net-next] tg3: add tx_dropped counter
    be2net: don't create multiple RX/TX rings in multi channel mode
    be2net: don't create multiple TXQs in BE2
    be2net: refactor VF setup/teardown code into be_vf_setup/clear()
    be2net: add vlan/rx-mode/flow-control config to be_setup()
    net_sched: cls_flow: use skb_header_pointer()
    ipv4: avoid useless call of the function check_peer_pmtu
    TCP: remove TCP_DEBUG
    net: Fix driver name for mdio-gpio.c
    ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT
    rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces
    ipv4: fix ipsec forward performance regression
    jme: fix irq storm after suspend/resume
    route: fix ICMP redirect validation
    net: hold sock reference while processing tx timestamps
    tcp: md5: add more const attributes
    Add ethtool -g support to virtio_net
    ...

    Fix up conflicts in:
    - drivers/net/Kconfig:
    The split-up generated a trivial conflict with removal of a
    stale reference to Documentation/networking/net-modules.txt.
    Remove it from the new location instead.
    - fs/sysfs/dir.c:
    Fairly nasty conflicts with the sysfs rb-tree usage, conflicting
    with Eric Biederman's changes for tagged directories.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
    MAINTAINERS: linux-m32r is moderated for non-subscribers
    linux@lists.openrisc.net is moderated for non-subscribers
    Drop default from "DM365 codec select" choice
    parisc: Kconfig: cleanup Kernel page size default
    Kconfig: remove redundant CONFIG_ prefix on two symbols
    cris: remove arch/cris/arch-v32/lib/nand_init.S
    microblaze: add missing CONFIG_ prefixes
    h8300: drop puzzling Kconfig dependencies
    MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
    tty: drop superfluous dependency in Kconfig
    ARM: mxc: fix Kconfig typo 'i.MX51'
    Fix file references in Kconfig files
    aic7xxx: fix Kconfig references to READMEs
    Fix file references in drivers/ide/
    thinkpad_acpi: Fix printk typo 'bluestooth'
    bcmring: drop commented out line in Kconfig
    btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
    doc: raw1394: Trivial typo fix
    CIFS: Don't free volume_info->UNC until we are entirely done with it.
    treewide: Correct spelling of successfully in comments
    ...

    Linus Torvalds
     

08 Oct, 2011

1 commit


26 Sep, 2011

1 commit


22 Sep, 2011

1 commit

  • Conflicts:
    MAINTAINERS
    drivers/net/Kconfig
    drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
    drivers/net/ethernet/broadcom/tg3.c
    drivers/net/wireless/iwlwifi/iwl-pci.c
    drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
    drivers/net/wireless/rt2x00/rt2800usb.c
    drivers/net/wireless/wl12xx/main.c

    David S. Miller
     

16 Sep, 2011

1 commit


15 Sep, 2011

2 commits


24 Aug, 2011

2 commits

  • Make sure that only assigned storage increments are unassigned when
    attaching a storage element.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Data is only used to temporarily hold information to be copied to the user
    level, so it should be freed before leaving the function.

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

    //
    @exists@
    local idexpression x;
    statement S,S1;
    expression E;
    identifier fl;
    expression *ptr != NULL;
    @@

    x = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    }
    when any
    when != true x == NULL
    x->fl
    ...>
    (
    if (x == NULL) S1
    |
    if (...) { ... when != x
    when forall
    (
    return \(0\|\|ptr\);
    |
    * return ...;
    )
    }
    )
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Julia Lawall
     

18 Aug, 2011

1 commit


13 Aug, 2011

7 commits

  • This patch extends the HiperSockets device driver to send and receive
    af_iucv traffic over HiperSockets transport.
    TX: Driver uses new asynchronous delivery of storage blocks to pass
    flow control/congestion information from the HiperSockets microcode
    to the af_iucv socket.
    RX: Memory for incoming traffic is preallocated and passed to
    HiperSockets layer. If receiver is not capable to clean its buffers
    shared with HiperSockets and pass new memory to the HiperSockets
    layer this will cause flow control/congestion events on the
    sender.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Einar Lueck
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Frank Blaschka
     
  • This patch exploits the QDIO support for asynchronous delivery of storage
    blocks for Hipersockets. The exploitation is not configured per default and
    may be enabled via the function qeth_configure_cq.

    Signed-off-by: Einar Lueck
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Einar Lueck
     
  • This patch ensures that signal adapter commands are issued if they are
    indicated to be required.

    Signed-off-by: Einar Lueck
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Einar Lueck
     
  • This patch ensures that signal adapter commands are issued if they are
    indicated to be required.

    Signed-off-by: Einar Lueck
    Signed-off-by: Jan Glauber
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     
  • This patch introduces support for asynchronous delivery of storage blocks for
    Hipersockets. Upper layers may exploit this functionality to reuse SBALs for
    which the delivery status is still pending.

    Signed-off-by: Einar Lueck
    Signed-off-by: Jan Glauber
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     
  • OSA cards can be configured to support 1 or 4 output queues. This
    does not apply to HiperSockets. This patch limits determination of
    the configured number of output queues to OSA cards only, but excludes
    HiperSockets.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • In layer 3 mode IPv6 over VLAN does not work on newer OSA levels in
    case the sender and receiver run on the same (shared) OSA adapter.
    Keep vlan info in the skb so the qdio header is filled with the
    required vlan tag.

    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Frank Blaschka
     

03 Aug, 2011

5 commits

  • This patch replaces the code for getting an unsigned long from a
    userspace buffer by a simple call to kstroul_from_user.
    This makes it easier to read and less error prone.

    Signed-off-by: Peter Huewe
    Acked-by: Jan Glauber
    Signed-off-by: Heiko Carstens

    Peter Huewe
     
  • This patch replaces the code for getting an unsigned long from a
    userspace buffer by a simple call to kstroul_from_user.
    This makes it easier to read and less error prone.

    Signed-off-by: Peter Huewe
    Signed-off-by: Heiko Carstens

    Peter Huewe
     
  • To use raw track access some special storage server commands are
    needed. Older storage hardware may not support these commands.
    So check if raw track access is possible while setting the DASD
    online.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Stefan Haberland
     
  • The size of the buffer that is used to store DASD statistics input
    strings depends on the user input. If the input string is to large,
    the write operation could fail with -ENOMEM. To avoid this, use
    vmalloc instead of kmalloc.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Heiko Carstens

    Stefan Weinhuber
     
  • The SIGA-W may return with the busy bit set which means the device was
    blocked. The busy loop which retries the SIGA-W for 100us may not be
    long enough when running under a heavily loaded hypervisor.

    Extend the retry mechanism by adding a longer second stage which retries
    the SIGA-W for up to 10s. In difference to the first retry loop the second
    stage is using mdelay to stop the cpu between the retries and thereby
    avoid additional preassure in on the hypervisor.
    If the second stage retry is successfull a device reset is avoided.

    Signed-off-by: Jan Glauber
    Signed-off-by: Heiko Carstens

    Jan Glauber
     

27 Jul, 2011

1 commit

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     

24 Jul, 2011

4 commits

  • This patch extends the DASD statistics to allow for a more detailed
    analysis of DASD I/O operations. In particular we want the statistics
    to provide answers to the following questions:
    - How many requests used a PAV alias?
    - How many requests used High Performance FICON?
    - How do read request perform versus write requests?

    The existing DASD statistics interface has several shortcomings
    - The interface for global data is a formatted text table in procfs
    (/proc/dasd/statistics). The layout is meant for human readers and
    is not to easy to parse. If values get to large for the table
    layout, they get scaled down.
    - The statistics which are collected per block device can be
    accessed via an ioctl interface, which can only be extended by
    defining a new ioctl.
    - There is no statistics interface for individual PAV base and alias
    devices.

    To overcome theses shortcomings we create a new DASD statistics
    interface in debugfs. This interface will contain one entry for global
    data, one per DASD block device, and one per DASD base and alias
    device. Each file contains the statistic data in easy to parse
    name/value and name/array pairs. The existing interfaces will remain
    functional, but they will not be extended.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     
  • Add toleration support for ap devices with device type 10.

    Signed-off-by: Holger Dengler
    Signed-off-by: Martin Schwidefsky

    Holger Dengler
     
  • The following race can occur with qdio devices that use the shared device
    state change indicator:

    Device (Shared DSCI) CPU0 CPU1
    ===============================================================================

    1. DSCI 0 => 1,
    INT pending
    2. Thinint handler
    * si_used = 1
    * Inbound tasklet_schedule
    * DSCI 1 => 0

    3. DSCI 0 => 1,
    INT pending

    4. Thinint handler
    * si_used = 1
    * Inbound tasklet_schedu
    le
    => NOP

    5. Inbound tasklet run

    6. DSCI = 1,
    INT surpressed

    7. DSCI 1 => 0

    The race would lead to a stall where new data in the input queue is
    not recognized so the device stops working in case of no further traffic.

    Fix the race by resetting the DSCI before scheduling the inbound tasklet
    so the device generates an interrupt if new data arrives in the above
    scenario in step 6.

    Reviewed-by: Ursula Braun
    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Jan Glauber
     
  • There is nothing below the menu entry "S/390 tape interface support".
    Remove it.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

23 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)
    PM: Improve error code of pm_notifier_call_chain()
    PM: Add "RTC" to PM trace time stamps to avoid confusion
    PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem
    PM / Suspend: Add .suspend_again() callback to suspend_ops
    PM / OPP: Introduce function to free cpufreq table
    ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active
    PM / Domains: Take .power_off() error code into account
    ARM / shmobile: Use genpd_queue_power_off_work()
    ARM / shmobile: Use pm_genpd_poweroff_unused()
    PM / Domains: Introduce function to power off all unused PM domains
    OMAP: PM: disable idle on suspend for GPIO and UART
    OMAP: PM: omap_device: add API to disable idle on suspend
    OMAP: PM: omap_device: add system PM methods for PM domain handling
    OMAP: PM: omap_device: conditionally use PM domain runtime helpers
    PM / Runtime: Add new helper function: pm_runtime_status_suspended()
    PM / Domains: Queue up power off work only if it is not pending
    PM / Domains: Improve handling of wakeup devices during system suspend
    PM / Domains: Do not restore all devices on power off error
    PM / Domains: Allow callbacks to execute all runtime PM helpers
    PM / Domains: Do not execute device callbacks under locks
    ...

    Linus Torvalds
     

22 Jul, 2011

1 commit


18 Jul, 2011

1 commit


16 Jul, 2011

1 commit


21 Jun, 2011

1 commit


07 Jun, 2011

1 commit


06 Jun, 2011

1 commit

  • The qdio SBAL entry flag is made-up of four different values that are
    independent of one another. Some of the bits are reserved by the
    hardware and should not be changed by qdio. Currently all four values
    are overwritten since the SBAL entry flag is defined as an u32.

    Split the SBAL entry flag into four u8's as defined by the hardware
    and don't touch the reserved bits.

    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Jan Glauber
     

26 May, 2011

2 commits

  • Merge irq.c and s390_ext.c into irq.c. That way all external interrupt
    related functions are together.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Interrupt sources like pfault, sclp, dasd_diag and virtio all use the
    service signal external interrupt subclass mask in control register 0
    to enable and disable the corresponding interrupt.
    Because no reference counting is implemented each subsystem thinks it
    is the only user of subclass and sets and clears the bit like it wants.
    This leads to case that unloading the dasd diag module under z/VM
    causes both sclp and pfault interrupts to be masked. The result will
    be locked up system sooner or later.
    Fix this by introducing a new way to set (register) and clear
    (unregister) the service signal subclass mask bit in cr0.
    Also convert all drivers.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

23 May, 2011

3 commits