31 Aug, 2013

1 commit

  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change
    to make the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Acked-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Jingoo Han
     

22 Aug, 2013

1 commit


21 Aug, 2013

1 commit

  • Use the wrapper functions for getting and setting the driver data using
    platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
    so we can directly pass a struct platform_device.

    Signed-off-by: Libo Chen
    Acked-by: Mugunthan V N
    Acked-by: Lad, Prabhakar
    Signed-off-by: David S. Miller

    Libo Chen
     

10 Jul, 2013

1 commit

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     

04 Jul, 2013

1 commit

  • …/linusw/linux-pinctrl

    Pull pin control changes from Linus Walleij:

    - A large slew of improvements of the Genric pin configuration support,
    and deployment in four different platforms: Rockchip, Super-H PFC,
    ABx500 and TZ1090. Support BIAS_BUS_HOLD, get device tree parsing
    and debugfs support into shape.

    - We also have device tree support with generic naming conventions for
    the generic pin configuration.

    - Delete the unused and confusing direct pinconf API. Now state
    transitions is *the* way to control pins and multiplexing.

    - New drivers for Rockchip, TZ1090, and TZ1090 PDC.

    - Two pin control states related to power management are now handled in
    the device core: "sleep" and "idle", removing a lot of boilerplate
    code in drivers. We do not yet know if this is the final word for
    pin PM, but it already make things a lot easier to handle.

    - Handle sparse GPIO ranges passing a list of disparate pins, and
    utilize these in the new BayTrail (x86 Atom SoC) driver.

    - Make the sunxi (AllWinner) driver handle external interrupts.

    - Make it possible for pinctrl-single to handle the case where several
    pins are managed by a single register, and augment it to handle sleep
    modes.

    - Cleanups and improvements for the abx500 drivers.

    - Move Sirf pin control drivers to their own directory, support
    save/restore of context and add support for the SiRFatlas6 SoC.

    - PMU muxing for the Dove pinctrl driver.

    - Finalization and support for VF610 in the i.MX6 pinctrl driver.

    - Smoothen out various Exynos rough edges.

    - Generic cleanups of various kinds.

    * tag 'pinctrl-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (82 commits)
    pinctrl: vt8500: wmt: remove redundant dev_err call in wmt_pinctrl_probe()
    pinctrl: remove bindings for pinconf options needing more thought
    pinctrl: remove slew-rate parameter from tz1090
    pinctrl: set unit for debounce time pinconfig to usec
    pinctrl: more clarifications for generic pull configs
    pinctrl: rip out the direct pinconf API
    pinctrl-tz1090-pdc: add TZ1090 PDC pinctrl driver
    pinctrl-tz1090: add TZ1090 pinctrl driver
    pinctrl: samsung: Staticize drvdata_list
    pinctrl: rockchip: Add missing irq_gc_unlock() call before return error
    pinctrl: abx500: rework error path
    pinctrl: abx500: suppress hardcoded value
    pinctrl: abx500: factorize code
    pinctrl: abx500: fix abx500_gpio_get()
    pinctrl: abx500: fix abx500_pin_config_set()
    pinctrl: abx500: Add device tree support
    sh-pfc: Guard DT parsing with #ifdef CONFIG_OF
    pinctrl: add Intel BayTrail GPIO/pinctrl support
    pinctrl: fix pinconf_ops::pin_config_dbg_parse_modify kerneldoc
    pinctrl: Staticize local symbols
    ...

    Conflicts:
    drivers/net/ethernet/ti/davinci_mdio.c
    drivers/pinctrl/Makefile

    Linus Torvalds
     

26 Jun, 2013

1 commit


16 Jun, 2013

1 commit


13 Jun, 2013

2 commits


11 Jun, 2013

1 commit

  • was playing with suspend and run into this:

    |BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:891
    |in_atomic(): 1, irqs_disabled(): 0, pid: 1963, name: bash
    |6 locks held by bash/1963:
    |CPU: 0 PID: 1963 Comm: bash Not tainted 3.10.0-rc4+ #50
    |[] (unwind_backtrace+0x0/0xf8) from [] (show_stack+0x10/0x14)
    |[] (show_stack+0x10/0x14) from [] (__pm_runtime_idle+0xa4/0xac)
    |[] (__pm_runtime_idle+0xa4/0xac) from [] (davinci_mdio_suspend+0x6c/0x9c)
    |[] (davinci_mdio_suspend+0x6c/0x9c) from [] (platform_pm_suspend+0x2c/0x54)
    |[] (platform_pm_suspend+0x2c/0x54) from [] (dpm_run_callback.isra.3+0x2c/0x64)
    |[] (dpm_run_callback.isra.3+0x2c/0x64) from [] (__device_suspend+0x100/0x22c)
    |[] (__device_suspend+0x100/0x22c) from [] (dpm_suspend+0x68/0x230)
    |[] (dpm_suspend+0x68/0x230) from [] (suspend_devices_and_enter+0x68/0x350)
    |[] (suspend_devices_and_enter+0x68/0x350) from [] (pm_suspend+0x210/0x24c)
    |[] (pm_suspend+0x210/0x24c) from [] (state_store+0x6c/0xbc)
    |[] (state_store+0x6c/0xbc) from [] (kobj_attr_store+0x14/0x20)
    |[] (kobj_attr_store+0x14/0x20) from [] (sysfs_write_file+0x16c/0x19c)
    |[] (sysfs_write_file+0x16c/0x19c) from [] (vfs_write+0xb4/0x190)
    |[] (vfs_write+0xb4/0x190) from [] (SyS_write+0x3c/0x70)
    |[] (SyS_write+0x3c/0x70) from [] (ret_fast_syscall+0x0/0x48)

    I don't see a reason why the pm_runtime call must be under the lock.
    Further I don't understand why this is a spinlock and not mutex.

    Cc: Mugunthan V N
    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Sebastian Siewior
     

25 Apr, 2013

1 commit


05 Feb, 2013

1 commit

  • alloc failures already get standardized OOM
    messages and a dump_stack.

    Convert kzalloc's with multiplies to kcalloc.
    Convert kmalloc's with multiplies to kmalloc_array.
    Fix a few whitespace defects.
    Convert a constant 6 to ETH_ALEN.
    Use parentheses around sizeof.
    Convert vmalloc/memset to vzalloc.
    Remove now unused size variables.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

04 Dec, 2012

1 commit


15 Nov, 2012

1 commit

  • By mistake (most likely a copy-paste), instead of pm_runtime_get_sync()
    api, driver is calling pm_runtime_put_sync() api in resume callback
    function. The bug was introduced by commit id (ae2c07aaf74:
    davinci_mdio: runtime PM support).

    Now, the reason why it didn't impact functionality is, the patch has
    been tested on AM335x-EVM and BeagleBone platform while submitting;
    and in case of AM335x the MDIO driver doesn't control the module
    enable/disable part, which is handled by CPSW driver.

    Signed-off-by: Vaibhav Hiremath
    Signed-off-by: Mugunthan V N
    Acked-by: Peter Korsgaard
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Vaibhav Hiremath
     

15 Sep, 2012

1 commit

  • Conflicts:
    net/netfilter/nfnetlink_log.c
    net/netfilter/xt_LOG.c

    Rather easy conflict resolution, the 'net' tree had bug fixes to make
    sure we checked if a socket is a time-wait one or not and elide the
    logging code if so.

    Whereas on the 'net-next' side we are calculating the UID and GID from
    the creds using different interfaces due to the user namespace changes
    from Eric Biederman.

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Sep, 2012

1 commit


08 Aug, 2012

1 commit


19 Jul, 2012

1 commit


18 Apr, 2012

1 commit

  • Under heavy load (flood ping) it is possible for the MDIO timeout to
    expire before the loop checks the GO bit again. This patch adds an
    additional check whether the operation was done before actually
    returning -ETIMEDOUT.

    To reproduce this bug, flood ping the device, e.g., ping -f -l 1000
    After some time, a "timed out waiting for user access" warning
    may appear. And even worse, link may go down since the PHY reported a
    timeout.

    Signed-off-by: Christian Riesch
    Cc:
    Cc: Cyril Chemparathy
    Signed-off-by: David S. Miller

    Christian Riesch
     

24 Feb, 2012

1 commit


03 Feb, 2012

1 commit

  • PTR_ERR should be called before its argument is cleared.

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

    //
    @@
    expression e,e1;
    constant c;
    @@

    *e = c
    ... when != e = e1
    when != &e
    when != true IS_ERR(e)
    *PTR_ERR(e)
    //

    Signed-off-by: Julia Lawall
    Reported-by: Josh Triplett
    Signed-off-by: David S. Miller

    Julia Lawall
     

11 Jan, 2012

1 commit


12 Aug, 2011

1 commit