01 Oct, 2013

2 commits

  • Pass-all-multicast is controlled by bit 3 in RX control, not bit 2
    (pass undersized frames).

    Reported-by: Joseph Chang
    Signed-off-by: Peter Korsgaard
    Signed-off-by: David S. Miller

    Peter Korsgaard
     
  • Cinterion PLXX LTE devices have a 0x0060 product ID, not 0x12d1.

    The blacklisting in the serial/option driver does actually use the correct PID,
    as per commit 8ff10bdb14a52e3f25d4ce09e0582a8684c1a6db ('USB: Blacklisted
    Cinterion's PLxx WWAN Interface').

    CC: Hans-Christoph Schemmel
    CC: Christian Schmiedl
    CC: Nicolaus Colberg
    Signed-off-by: Aleksander Morgado
    Acked-by: Bjørn Mork
    Acked-by: Christian Schmiedl
    Signed-off-by: David S. Miller

    Aleksander Morgado
     

29 Sep, 2013

1 commit

  • Commit 638c5115a7949(USBNET: support DMA SG) introduces DMA SG
    if the usb host controller is capable of building packet from
    discontinuous buffers, but missed handling padding packet when
    building DMA SG.

    This patch attachs the pre-allocated padding packet at the
    end of the sg list, so padding packet can be sent to device
    if drivers require that.

    Reported-by: David Laight
    Acked-by: Oliver Neukum
    Signed-off-by: Ming Lei
    Signed-off-by: David S. Miller

    Ming Lei
     

17 Sep, 2013

3 commits


12 Sep, 2013

1 commit

  • Adding the device list from the Windows driver description files
    included with a new Qualcomm MDM9615 based device, "Alcatel-sbell
    ASB TL131 TDD LTE", from China Mobile. This device is tested
    and verified to work. The others are assumed to work based on
    using the same Windows driver.

    Many of these devices support multiple QMI/wwan ports, requiring
    multiple interface matching entries. All devices are composite,
    providing a mix of one or more serial, storage or Android Debug
    Brigde functions in addition to the wwan function.

    This device list included an update of one previously known device,
    which was incorrectly assumed to have a Gobi 2K layout. This is
    corrected.

    Reported-by: 王康
    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     

06 Sep, 2013

3 commits

  • Pull networking changes from David Miller:
    "Noteworthy changes this time around:

    1) Multicast rejoin support for team driver, from Jiri Pirko.

    2) Centralize and simplify TCP RTT measurement handling in order to
    reduce the impact of bad RTO seeding from SYN/ACKs. Also, when
    both timestamps and local RTT measurements are available prefer
    the later because there are broken middleware devices which
    scramble the timestamp.

    From Yuchung Cheng.

    3) Add TCP_NOTSENT_LOWAT socket option to limit the amount of kernel
    memory consumed to queue up unsend user data. From Eric Dumazet.

    4) Add a "physical port ID" abstraction for network devices, from
    Jiri Pirko.

    5) Add a "suppress" operation to influence fib_rules lookups, from
    Stefan Tomanek.

    6) Add a networking development FAQ, from Paul Gortmaker.

    7) Extend the information provided by tcp_probe and add ipv6 support,
    from Daniel Borkmann.

    8) Use RCU locking more extensively in openvswitch data paths, from
    Pravin B Shelar.

    9) Add SCTP support to openvswitch, from Joe Stringer.

    10) Add EF10 chip support to SFC driver, from Ben Hutchings.

    11) Add new SYNPROXY netfilter target, from Patrick McHardy.

    12) Compute a rate approximation for sending in TCP sockets, and use
    this to more intelligently coalesce TSO frames. Furthermore, add
    a new packet scheduler which takes advantage of this estimate when
    available. From Eric Dumazet.

    13) Allow AF_PACKET fanouts with random selection, from Daniel
    Borkmann.

    14) Add ipv6 support to vxlan driver, from Cong Wang"

    Resolved conflicts as per discussion.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1218 commits)
    openvswitch: Fix alignment of struct sw_flow_key.
    netfilter: Fix build errors with xt_socket.c
    tcp: Add missing braces to do_tcp_setsockopt
    caif: Add missing braces to multiline if in cfctrl_linkup_request
    bnx2x: Add missing braces in bnx2x:bnx2x_link_initialize
    vxlan: Fix kernel panic on device delete.
    net: mvneta: implement ->ndo_do_ioctl() to support PHY ioctls
    net: mvneta: properly disable HW PHY polling and ensure adjust_link() works
    icplus: Use netif_running to determine device state
    ethernet/arc/arc_emac: Fix huge delays in large file copies
    tuntap: orphan frags before trying to set tx timestamp
    tuntap: purge socket error queue on detach
    qlcnic: use standard NAPI weights
    ipv6:introduce function to find route for redirect
    bnx2x: VF RSS support - VF side
    bnx2x: VF RSS support - PF side
    vxlan: Notify drivers for listening UDP port changes
    net: usbnet: update addr_assign_type if appropriate
    driver/net: enic: update enic maintainers and driver
    driver/net: enic: Exposing symbols for Cisco's low latency driver
    ...

    Linus Torvalds
     
  • Conflicts:
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    net/bridge/br_multicast.c
    net/ipv6/sit.c

    The conflicts were minor:

    1) sit.c changes overlap with change to ip_tunnel_xmit() signature.

    2) br_multicast.c had an overlap between computing max_delay using
    msecs_to_jiffies and turning MLDV2_MRC() into an inline function
    with a name using lowercase instead of uppercase letters.

    3) stmmac had two overlapping changes, one which conditionally allocated
    and hooked up a dma_cfg based upon the presence of the pbl OF property,
    and another one handling store-and-forward DMA made. The latter of
    which should not go into the new of_find_property() basic block.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This module generates a common default address on init,
    using eth_random_addr. Set addr_assign_type to let
    userspace know the address is random unless it was
    overridden by the minidriver.

    Signed-off-by: Bjørn Mork
    Acked-by: Oliver Neukum
    Signed-off-by: David S. Miller

    Bjørn Mork
     

04 Sep, 2013

3 commits

  • Use the new bool function ether_addr_equal to add
    some clarity and reduce the likelihood for misuse
    of compare_ether_addr for sorting.

    Done via cocci script: (and a little typing)

    $ cat compare_ether_addr.cocci
    @@
    expression a,b;
    @@
    - !compare_ether_addr(a, b)
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - compare_ether_addr(a, b)
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !ether_addr_equal(a, b) == 0
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !ether_addr_equal(a, b) != 0
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - ether_addr_equal(a, b) == 0
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - ether_addr_equal(a, b) != 0
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !!ether_addr_equal(a, b)
    + ether_addr_equal(a, b)

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

    Joe Perches
     
  • Signed-off-by: Liu Junliang
    Signed-off-by: David S. Miller

    Liu Junliang
     
  • Pull USB patches from Greg KH:
    "Here's the big USB driver pull request for 3.12-rc1

    Lots of USB driver fixes and updates. Nothing major, just the normal
    xhci, gadget, and other driver changes. Full details in the shortlog"

    * tag 'usb-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (352 commits)
    usbcore: fix incorrect type in assignment in descriptors_changed()
    usbcore: compare and release one bos descriptor in usb_reset_and_verify_device()
    ehci: remove debugging statement with ehci statistics in ehci_stop()
    ehci: remove duplicate debug_async_open() prototype in ehci-dbg.c
    ehci: enable debugging code when CONFIG_DYNAMIC_DEBUG is set
    ehci: remove ehci_vdbg() verbose debugging statements
    Documentation sysfs-bus-usb: Document which files are used by libusb
    Documentation sysfs-bus-usb: Document the speed file used by libusb
    Documentation sysfs-bus-usb: Move files with known users to stable
    USB: fix build error when CONFIG_PM_SLEEP isn't enabled
    usb: r8a66597-hcd: use platform_{get,set}_drvdata()
    usb: phy-tegra-usb: use platform_{get,set}_drvdata()
    usb: acm gadget: Null termintate strings table
    dma: cppi41: off by one in desc_to_chan()
    xhci: Fix warning introduced by disabling runtime PM.
    dev-core: fix build break when DEBUG is enabled
    USB: OHCI: Allow runtime PM without system sleep
    usb: ohci-at91: remove unnecessary dev_set_drvdata()
    usb: renesas_usbhs: use platform_{get,set}_drvdata()
    usb: fotg210-udc: use platform_{get,set}_drvdata()
    ...

    Linus Torvalds
     

29 Aug, 2013

1 commit

  • This patch adds another entry (HP hs2434 Mobile Broadband) to the list
    of exceptional devices that require a zero length packet in order to
    function properly. This list was added in commit 844e88f0. The hs2434
    is manufactured by Sierra Wireless, who also produces the MC7710,
    which the ZLP exception list was created for in the first place. So
    hopefully it is just this one producer's devices that will need this
    workaround.

    Tested on a DM1-4310NR HP notebook, which does not function without this
    change.

    Signed-off-by: Rob Gardner
    Acked-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Rob Gardner
     

27 Aug, 2013

1 commit


22 Aug, 2013

2 commits

  • As Sergei Shtylyov explained in the #mipslinux IRC channel:
    [Mon 2013-08-19 12:28:21 PM PDT] guys, are you sure it's not "DMA off stack" case?
    [Mon 2013-08-19 12:28:35 PM PDT] it's a known stack corruptor on non-coherent arches
    [Mon 2013-08-19 12:31:48 PM PDT] headless: for usb/ehci?
    [Mon 2013-08-19 12:34:11 PM PDT] headless: explain
    [Mon 2013-08-19 12:35:38 PM PDT] usb_control_msg() (or other such func) should not use buffer on stack. DMA from/to stack is prohibited
    [Mon 2013-08-19 12:35:58 PM PDT] and EHCI uses DMA on control xfers (as well as all the others)

    Signed-off-by: Daniel Gimpelevich
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Daniel Gimpelevich
     
  • There is no need to get an interface specification if we know it's the
    wrong one.

    Signed-off-by: Daniel Gimpelevich
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Daniel Gimpelevich
     

20 Aug, 2013

7 commits


15 Aug, 2013

3 commits


14 Aug, 2013

2 commits


13 Aug, 2013

2 commits

  • This patch enables 'can_dma_sg' flag for ax88179_178a device
    if the attached host controller supports building packet from
    discontinuous buffers(DMA SG is possible), so TSO can be enabled
    and skb fragment buffers can be passed to usb stack via urb->sg
    directly.

    With the patch, system CPU utilization decreased ~50% and throughput
    increased by ~10% when doing iperf client test on one ARM A15 dual
    core board.

    Cc: Ben Hutchings
    Cc: Grant Grundler
    Cc: Oliver Neukum
    Cc: Alan Stern
    Cc: Freddy Xin
    Signed-off-by: Ming Lei
    Acked-by: Eric Dumazet
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • This patch introduces support of DMA SG if the USB host controller
    which usbnet device is attached to is capable of building packet from
    discontinuous buffers.

    The patch supports passing the skb fragment buffers to usb stack directly
    via urb->sg.

    Cc: Ben Hutchings
    Cc: Grant Grundler
    Cc: Freddy Xin
    Cc: Alan Stern
    Acked-by: Oliver Neukum
    Signed-off-by: Ming Lei
    Reviewed-by: Eric Dumazet
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     

04 Aug, 2013

2 commits

  • ax88179_tx_fixup() has quite complex code trying to push 8 bytes
    of control data (len/mss), but fails to do it properly for TCP packets,
    incurring an extra copy and point of memory allocation failure.

    Lets use the simple and approved way.

    dev->needed_headroom being 8, all frames should have 8 bytes of
    headroom, so the extra copy should be unlikely anyway.

    This patch should improve performance for TCP xmits.

    Reported-by: Ming Lei
    Tested-by: Ming Lei
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Merge net into net-next to setup some infrastructure Eric
    Dumazet needs for usbnet changes.

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Aug, 2013

5 commits


28 Jul, 2013

2 commits

  • The default RX_QLEN()/TX_QLEN() didn't consider super speed
    USB device, so only max 4 URBs are scheduled at the same time
    for tx/rx, then USB3 NIC can't perform very well.

    With this patch, both rx and tx thoughput are increased more than
    100Mbps when doing iperf test on ax88179_178a USB 3.0 NIC.

    Signed-off-by: Ming Lei
    Signed-off-by: David S. Miller

    Ming Lei
     
  • This patch centralizes computing of max rx/tx qlen, because:

    - RX_QLEN()/TX_QLEN() is called in hot path
    - computing depends on device's usb speed, now we have ls/fs, hs, ss,
    so more checks need to be involved
    - in fact, max rx/tx qlen should not only depend on device USB
    speed, but also depend on ethernet link speed, so we need to
    consider that in future.
    - if SG support is done, max tx qlen may need change too

    Generally, hard_mtu and rx_urb_size are changed in bind(), reset()
    and link_reset() callback, and change mtu network operation, this
    patches introduces the API of usbnet_update_max_qlen(), and calls
    it in above path.

    Signed-off-by: Ming Lei
    Signed-off-by: David S. Miller

    Ming Lei