1. 07 Mar, 2013 6 commits
    • Ben Hutchings's avatar
      sfc: More sensible semantics for efx_filter_insert_filter() replace flag · 7de07a4d
      Ben Hutchings authored
      The 'replace' flag to efx_filter_insert_filter() controls whether the
      new filter may replace *any* filter, and is checked even before
      priority comparison.  But lower-priority filters should never
      block insertion of higher-priority filters.
      
      Change the priority checking so that lower-priority filters are
      replaced regardless of the value of the flag, and rename the
      flag to 'replace_equal'.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      7de07a4d
    • Alexandre Rames's avatar
      sfc: Remove rx_alloc_method SKB · 97d48a10
      Alexandre Rames authored
      [bwh: Remove more dead code, and make efx_ptp_rx() pull the data it
       needs into the header area.]
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      97d48a10
    • Laurence Evans's avatar
    • Laurence Evans's avatar
      sfc: PTP changes to support improved UUID filtering mode · c939a316
      Laurence Evans authored
      There is a long-standing problem with the packet-timestamp matching in
      the driver. When a PTP packet is received by the MC, the FPGA
      timestamps the packet and the MC sends the timestamp and 6 bytes of
      the UUID to the driver. The driver then matches the timestamp against
      received packets using the same 6 bytes of UUID.
      
      The problem comes from the choice of which 6 bytes to use. The PTP
      spec is slightly contradictory and misleading in one of the two places
      where the UUIDs are discussed. From section 7.2.2.2 of the spec, a
      PTPD2 UUID can be either a EUI-64 or a EUI-64 constructed from a
      EUI-48. The typical ethernet based implementation uses a EUI-64
      constructed from a EUI-48. This works by taking the first 3 bytes of
      the MAC address of the NIC being used for PTP (the OUI), then
      inserting 0xFF, 0xFE, then taking the last 3 bytes of the MAC address
      giving
                MAC[0], MAC[1], MAC[2], 0xFF, 0xFE, MAC[3], MAC[4], MAC[5]
      The current MC firmware and driver discard the first two bytes of this
      UUID and packets are matched against timestamps using bytes 2 to 7 so
      there is a small risk that in a deployment of Solarflare PTP NICs used
      with other vendors NICs, that a PTP packet could be matched against
      the wrong timestamp. This applies to all other organisations whose
      third byte of the OUI is 0x53. It's a long list but I notice that it
      includes Cisco.
      
      The necessary modifications to use bytes 0-2 and 5-7 of the UUID to
      match against are quite small but introduce incompatibility between
      older version of the firmware and driver.
      
      When PTP is enabled via SO_TIMESTAMPING specifying PTP V2, the driver
      will try to enable PTP in the firmware using the enhanced mode
      (above). If the firmware returns an error, the driver will enable PTP
      in the firmware using the old mode.
      
      [bwh: Fix some style errors; remove private ioctl bits]
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      c939a316
    • Ben Hutchings's avatar
      sfc: Allow efx_channel_type::receive_skb() to reject a packet · 4a74dc65
      Ben Hutchings authored
      Instead of having efx_ptp_rx() call netif_receive_skb() for an invalid
      PTP packet, make it return false for rejected packets and have
      efx_rx_deliver() pass them up.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      4a74dc65
    • Ben Hutchings's avatar
      Merge branch 'sfc-3.9' into master · 86c2da58
      Ben Hutchings authored
      86c2da58
  2. 06 Mar, 2013 20 commits
    • Eric Dumazet's avatar
      htb: add HTB_DIRECT_QLEN attribute · 6906f4ed
      Eric Dumazet authored
      HTB uses an internal pfifo queue, which limit is not reported
      to userland tools (tc), and value inherited from device tx_queue_len
      at setup time.
      
      Introduce TCA_HTB_DIRECT_QLEN attribute to allow finer control.
      
      Remove two obsolete pr_err() calls as well.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6906f4ed
    • Florian Fainelli's avatar
      r6040: check MDIO register busy waiting result · 09e7fae9
      Florian Fainelli authored
      We are currently busy waiting for MDIO registers to complete their
      operation but we did not propagate the result back to the caller.
      Update r6040_phy_{read,write} to report the busy waiting result
      accordingly.
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      09e7fae9
    • Nicolas Dichtel's avatar
      netconf: add the handler to dump entries · 7a674200
      Nicolas Dichtel authored
      It's useful to be able to get the initial state of all entries. The patch adds
      the support for IPv4 and IPv6.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7a674200
    • Jiri Pirko's avatar
      team: introduce random mode · 753f9939
      Jiri Pirko authored
      As suggested by Eric Dumazet, allow user to select mode which chooses
      TX port randomly. Functionality should be more of less similar to
      round-robin mode with even lower overhead.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      753f9939
    • Jiri Pirko's avatar
      team: introduce two default team_modeop functions and use them in modes · acbba0d0
      Jiri Pirko authored
      No need to duplicate code for this.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      acbba0d0
    • Ben Hutchings's avatar
      sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0 · c73e787a
      Ben Hutchings authored
      RX DMA buffers start at an offset of EFX_PAGE_IP_ALIGN bytes from the
      start of a cache line.  This offset obviously needs to be included in
      the virtual address, but this was missed in commit b590ace0
      ('sfc: Fix efx_rx_buf_offset() in the presence of swiotlb') since
      EFX_PAGE_IP_ALIGN is equal to 0 on both x86 and powerpc.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      c73e787a
    • Ben Hutchings's avatar
      sfc: Disable soft interrupt handling during efx_device_detach_sync() · 35205b21
      Ben Hutchings authored
      efx_device_detach_sync() locks all TX queues before marking the device
      detached and thus disabling further TX scheduling.  But it can still
      be interrupted by TX completions which then result in TX scheduling in
      soft interrupt context.  This will deadlock when it tries to acquire
      a TX queue lock that efx_device_detach_sync() already acquired.
      
      To avoid deadlock, we must use netif_tx_{,un}lock_bh().
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      35205b21
    • Eric Dumazet's avatar
      bnx2x: use the default NAPI weight · 6fac4115
      Eric Dumazet authored
      BQL (Byte Queue Limits) proper operation needs TX completion
      being serviced in a timely fashion.
      
      bnx2x uses a non standard NAPI poll weight, and thats not fair to other
      napi poll handlers, and even not reasonable.
      
      Use the default value instead.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Eilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6fac4115
    • Eric Dumazet's avatar
      net: introduce NAPI_POLL_WEIGHT · 82dc3c63
      Eric Dumazet authored
      Some drivers use a too big NAPI poll weight.
      
      This patch adds a NAPI_POLL_WEIGHT default value
      and issues an error message if a driver attempts
      to use a bigger weight.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Eilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82dc3c63
    • Flavio Leitner's avatar
      tcp: ipv6: bind() use stronger condition for bind_conflict · dd9f319d
      Flavio Leitner authored
      We must try harder to get unique (addr, port) pairs when
      doing port autoselection for sockets with SO_REUSEADDR
      option set.
      
      This is a continuation of commit aacd9289
      for IPv6.
      Signed-off-by: default avatarFlavio Leitner <fbl@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd9f319d
    • Jingoo Han's avatar
      net: cs89x0: use module_platform_driver_probe() · fae4f3cf
      Jingoo Han authored
      This patch uses module_platform_driver_probe() macro which makes
      the code smaller and simpler.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fae4f3cf
    • Jingoo Han's avatar
      net: macb: use module_platform_driver_probe() · b543a8d8
      Jingoo Han authored
      This patch uses module_platform_driver_probe() macro which makes
      the code smaller and simpler.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b543a8d8
    • Jingoo Han's avatar
      net: at91_ether: use module_platform_driver_probe() · ecad0a68
      Jingoo Han authored
      This patch uses module_platform_driver_probe() macro which makes
      the code smaller and simpler.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecad0a68
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 9f225788
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a few powerpc bits & fixes for rc1.  A couple of str*cpy
        fixes, some fixes in handling the FSCR register on Power8 (controls
        the enabling of processor features), a 32-bit build fix and a couple
        more nits."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Set DSCR bit in FSCR setup
        powerpc: Add DSCR FSCR register bit definition
        powerpc: Fix setting FSCR for HV=0 and on secondary CPUs
        powerpc: Wireup the kcmp syscall to sys_ni
        powerpc: Remove unused BITOP_LE_SWIZZLE macro
        powerpc: Avoid link stack corruption in MMU on syscall entry path
        drivers/tty/hvc: Use strlcpy instead of strncpy
        powerpc/pseries/hvcserver: Fix strncpy buffer limit in location code
        powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit
      9f225788
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · d7b815d4
      Linus Torvalds authored
      Pull virtio hwrng fix from Rusty Russell:
       "Nasty side-effect of vmalloc'ing modules: their static vars cannot be
        put into scatterlists.  Jens has a check queued for this, so it
        shouldn't happen again.
      
        We could fix this in virtio_rng, but it's actually far easier to just
        do it in the core"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        hw_random: make buffer usable in scatterlist.
      d7b815d4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9da060d0
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "A moderately sized pile of fixes, some specifically for merge window
        introduced regressions although others are for longer standing items
        and have been queued up for -stable.
      
        I'm kind of tired of all the RDS protocol bugs over the years, to be
        honest, it's way out of proportion to the number of people who
        actually use it.
      
         1) Fix missing range initialization in netfilter IPSET, from Jozsef
            Kadlecsik.
      
         2) ieee80211_local->tim_lock needs to use BH disabling, from Johannes
            Berg.
      
         3) Fix DMA syncing in SFC driver, from Ben Hutchings.
      
         4) Fix regression in BOND device MAC address setting, from Jiri
            Pirko.
      
         5) Missing usb_free_urb in ISDN Hisax driver, from Marina Makienko.
      
         6) Fix UDP checksumming in bnx2x driver for 57710 and 57711 chips,
            fix from Dmitry Kravkov.
      
         7) Missing cfgspace_lock initialization in BCMA driver.
      
         8) Validate parameter size for SCTP assoc stats getsockopt(), from
            Guenter Roeck.
      
         9) Fix SCTP association hangs, from Lee A Roberts.
      
        10) Fix jumbo frame handling in r8169, from Francois Romieu.
      
        11) Fix phy_device memory leak, from Petr Malat.
      
        12) Omit trailing FCS from frames received in BGMAC driver, from Hauke
            Mehrtens.
      
        13) Missing socket refcount release in L2TP, from Guillaume Nault.
      
        14) sctp_endpoint_init should respect passed in gfp_t, rather than use
            GFP_KERNEL unconditionally.  From Dan Carpenter.
      
        15) Add AISX AX88179 USB driver, from Freddy Xin.
      
        16) Remove MAINTAINERS entries for drivers deleted during the merge
            window, from Cesar Eduardo Barros.
      
        17) RDS protocol can try to allocate huge amounts of memory, check
            that the user's request length makes sense, from Cong Wang.
      
        18) SCTP should use the provided KMALLOC_MAX_SIZE instead of it's own,
            bogus, definition.  From Cong Wang.
      
        19) Fix deadlocks in FEC driver by moving TX reclaim into NAPI poll,
            from Frank Li.  Also, fix a build error introduced in the merge
            window.
      
        20) Fix bogus purging of default routes in ipv6, from Lorenzo Colitti.
      
        21) Don't double count RTT measurements when we leave the TCP receive
            fast path, from Neal Cardwell."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)
        tcp: fix double-counted receiver RTT when leaving receiver fast path
        CAIF: fix sparse warning for caif_usb
        rds: simplify a warning message
        net: fec: fix build error in no MXC platform
        net: ipv6: Don't purge default router if accept_ra=2
        net: fec: put tx to napi poll function to fix dead lock
        sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
        rds: limit the size allocated by rds_message_alloc()
        MAINTAINERS: remove eexpress
        MAINTAINERS: remove drivers/net/wan/cycx*
        MAINTAINERS: remove 3c505
        caif_dev: fix sparse warnings for caif_flow_cb
        ax88179_178a: ASIX AX88179_178A USB 3.0/2.0 to gigabit ethernet adapter driver
        sctp: use the passed in gfp flags instead GFP_KERNEL
        ipv[4|6]: correct dropwatch false positive in local_deliver_finish
        l2tp: Restore socket refcount when sendmsg succeeds
        net/phy: micrel: Disable asymmetric pause for KSZ9021
        bgmac: omit the fcs
        phy: Fix phy_device_free memory leak
        bnx2x: Fix KR2 work-around condition
        ...
      9da060d0
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e3b59518
      Linus Torvalds authored
      Pull irq fixes and cleanups from Thomas Gleixner:
       "Commit e5ab012c ("nohz: Make tick_nohz_irq_exit() irq safe") is
        the first commit in the series and the minimal necessary bugfix, which
        needs to go back into stable.
      
        The remanining commits enforce irq disabling in irq_exit(), sanitize
        the hardirq/softirq preempt count transition and remove a bunch of no
        longer necessary conditionals."
      
      I personally love getting rid of the very subtle and confusing
      IRQ_EXIT_OFFSET thing.  Even apart from the whole "more lines removed
      than added" thing.
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irq: Don't re-enable interrupts at the end of irq_exit
        irq: Remove IRQ_EXIT_OFFSET workaround
        Revert "nohz: Make tick_nohz_irq_exit() irq safe"
        irq: Sanitize invoke_softirq
        irq: Ensure irq_exit() code runs with interrupts disabled
        nohz: Make tick_nohz_irq_exit() irq safe
      e3b59518
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6516ab6f
      Linus Torvalds authored
      Pull smpboot bugfix from Thomas Gleixner:
       "A single bugfix for a regression introduced with the conversion of the
        stop machine threads to the generic smpboot thread management
        facility"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stop_machine: Mark per cpu stopper enabled early
      6516ab6f
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 06e79d3b
      Linus Torvalds authored
      Pull second round of GPIO changes from Grant Likely:
       "This branch contains a few bug fixes that I missed the first time
        around and updates to the gpio_desc series included in the first pull
        request.  This tag has been retagged to drop the 2 head commits
        because the one of them caused a build failure."
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
        gpio/gpio-ich: fix ichx_gpio_check_available() return what callers expect
        gpiolib: move comment to right function
        gpiolib: use const parameters when possible
        gpiolib: check descriptors validity before use
      06e79d3b
    • Linus Torvalds's avatar
      Merge tag 'md-3.9' of git://neil.brown.name/md · a5e0d731
      Linus Torvalds authored
      Pull md updates from NeilBrown:
       "Mostly little bugfixes.
      
        Only "feature" is a new RAID10 layout which slightly improves the
        number of sets of devices that can concurrently fail, without data
        loss."
      
      * tag 'md-3.9' of git://neil.brown.name/md:
        md: expedite metadata update when switching  read-auto -> active
        md: remove CONFIG_MULTICORE_RAID456
        md/raid1,raid10: fix deadlock with freeze_array()
        md/raid0: improve error message when converting RAID4-with-spares to RAID0
        md: raid0: fix error return from create_stripe_zones.
        md: fix two bugs when attempting to resize RAID0 array.
        DM RAID: Add support for MD's RAID10 "far" and "offset" algorithms
        MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 2)
        MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 1)
        MD RAID10: Minor non-functional code changes
        md: raid1,10: Handle REQ_WRITE_SAME flag in write bios
        md: protect against crash upon fsync on ro array
      a5e0d731
  3. 05 Mar, 2013 9 commits
  4. 04 Mar, 2013 5 commits