1. 27 11月, 2012 8 次提交
    • G
      stmmac: get/set coalesce parameters via ethtool · 48f44da4
      Giuseppe CAVALLARO 提交于
      This patch is to get/set the tx/rx coalesce parameters
      via ethtool interface.
      
      Tests have been done on several platform with different GMAC chips w/o and w/
      RX watchdog feature.
      
      V2: reject coalesce settings that are not supported.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Reviewed-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      48f44da4
    • G
      stmmac: add Rx watchdog support to mitigate the DMA irqs · 62a2ab93
      Giuseppe CAVALLARO 提交于
      GMAC devices newer than databook 3.40 has an embedded timer
      that can be used for mitigating the number of interrupts.
      So this patch adds this optimizations.
      
      At any rate, the Rx watchdog can be disable (on bugged HW) by
      passing from the platform the riwt_off field.
      
      In this implementation the rx timer stored in the Reg9 is fixed
      to the max value. This will be tuned by using ethtool.
      
      V2: added a platform parameter to force to disable the rx-watchdog
      for example on new core where it is bugged.
      
      V3: do not disable NAPI when Rx watchdog is used.
      
      V4: a new extra statistic field has been added to show the early
      receive status in the interrupt handler.
      This patch also adds an extra check to avoid to call
      napi_schedule when the DMA_INTR_ENA_RIE bit is disabled in the
      Interrupt Mask register.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62a2ab93
    • G
      stmmac: add the initial tx coalesce schema · 9125cdd1
      Giuseppe CAVALLARO 提交于
      This patch adds a new schema used for mitigating the
      number of transmit interrupts.
      It is based on a SW timer and a threshold value.
      The timer is used to periodically call the stmmac_tx_clean
      function; the threshold is used for setting the IC (Interrupt
      on Completion bit). The ISR will then invoke the poll method.
      Also the patch improves some ethtool stat fields.
      
      V2: review the logic to manage the IC bit in the TDESC
      that was bugged because it didn't take care about the
      fragments. Also fix the tx_count_frames that has not to be
      limited to TX DMA ring. Thanks to Ben Hutchings.
      
      V3: removed the spin_lock irqsave/restore as D. Miller suggested.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9125cdd1
    • G
      stmmac: remove dead code for STMMAC_TIMER support · 7284a3f1
      Giuseppe CAVALLARO 提交于
      The TIMER option is not longer supported and this
      code can be considered dead for this driver in
      the new kernel series.
      In fact, It was not updated at all and never used.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7284a3f1
    • R
      tun: put correct method name in a debug message. · 3872baf6
      Rami Rosen 提交于
      This patch puts the correct method name, tun_do_read, in a debug message.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3872baf6
    • R
      vtun: fix typos. · 36fe8c09
      Rami Rosen 提交于
      This patch fixes four typos in drivers/net/vtun.c.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      36fe8c09
    • D
      atm: br2684: Fix excessive queue bloat · ae088d66
      David Woodhouse 提交于
      There's really no excuse for an additional wmem_default of buffering
      between the netdev queue and the ATM device. Two packets (one in-flight,
      and one ready to send) ought to be fine. It's not as if it should take
      long to get another from the netdev queue when we need it.
      
      If necessary we can make the queue space configurable later, but I don't
      think it's likely to be necessary.
      
      cf. commit 9d02daf7 (pppoatm: Fix
      excessive queue bloat) which did something very similar for PPPoATM.
      
      Note that there is a tremendously unlikely race condition which may
      result in qspace temporarily going negative. If a CPU running the
      br2684_pop() function goes off into the weeds for a long period of time
      after incrementing qspace to 1, but before calling netdev_wake_queue()...
      and another CPU ends up calling br2684_start_xmit() and *stopping* the
      queue again before the first CPU comes back, the netdev queue could
      end up being woken when qspace has already reached zero.
      
      An alternative approach to coping with this race would be to check in
      br2684_start_xmit() for qspace==0 and return NETDEV_TX_BUSY, but just
      using '> 0' and '< 1' for comparison instead of '== 0' and '!= 0' is
      simpler. It just warranted a mention of *why* we do it that way...
      
      Move the call to atmvcc->send() to happen *after* the accounting and
      potentially stopping the netdev queue, in br2684_xmit_vcc(). This matters
      if the ->send() call suffers an immediate failure, because it'll call
      br2684_pop() with the offending skb before returning. We want that to
      happen *after* we've done the initial accounting for the packet in
      question. Also make it return an appropriate success/failure indication
      while we're at it.
      
      Tested by running 'ping -l 1000 bottomless.aaisp.net.uk' from within my
      network, with only a single PPPoE-over-BR2684 link running. And after
      setting txqueuelen on the nas0 interface to something low (5, in fact).
      Before the patch, we'd see about 15 packets being queued and a resulting
      latency of ~56ms being reached. After the patch, we see only about 8,
      which is fairly much what we expect. And a max latency of ~36ms. On this
      OpenWRT box, wmem_default is 163840.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Reviewed-by: NKrzysztof Mazur <krzysiek@podlesie.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae088d66
    • B
      dsa: Hide core config options; make drivers select what they need · b3422a31
      Ben Hutchings 提交于
      Commit 82167cb8 ('net: dsa/slave: Fix
      compilation warnings') fixed one possible invalid configuration
      (NET_DSA enabled with no trailer formats) but added others: drivers
      can select NET_DSA without its dependencies being met.
      
      It's not very useful to make either the DSA core or the tagging
      formats manually selectable without a driver to use them, so:
      
      1. Define a hidden HAVE_NET_DSA option and move the dependencies of
         NET_DSA to that.  While we're at it, drop the deprecated
         EXPERIMENTAL dependency.
      2. Make NET_DSA and the drivers dependent on HAVE_NET_DSA.
      3. Hide the tagging format options again.
      4. Make drivers select both NET_DSA and the appropriate tagging format
         option.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Acked-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3422a31
  2. 26 11月, 2012 12 次提交
  3. 25 11月, 2012 1 次提交
  4. 24 11月, 2012 19 次提交
    • T
      ALSA: hda - Fix build without CONFIG_PM · d846b174
      Takashi Iwai 提交于
      I forgot this again...  codec->in_pm is in #ifdef CONFIG_PM
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d846b174
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2654ad44
      Linus Torvalds 提交于
      Pull x86 arch fixes from Peter Anvin:
       "Here is a collection of fixes for 3.7-rc7.  This is a superset of
        tglx' earlier pull request."
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64: Fix ordering of CFI directives and recent ASM_CLAC additions
        x86, microcode, AMD: Add support for family 16h processors
        x86-32: Export kernel_stack_pointer() for modules
        x86-32: Fix invalid stack address while in softirq
        x86, efi: Fix processor-specific memcpy() build error
        x86: remove dummy long from EFI stub
        x86, mm: Correct vmflag test for checking VM_HUGETLB
        x86, amd: Disable way access filter on Piledriver CPUs
        x86/mce: Do not change worker's running cpu in cmci_rediscover().
        x86/ce4100: Fix PCI configuration register access for devices without interrupts
        x86/ce4100: Fix reboot by forcing the reboot method to be KBD
        x86/ce4100: Fix pm_poweroff
        MAINTAINERS: Update email address for Robert Richter
        x86, microcode_amd: Change email addresses, MAINTAINERS entry
        MAINTAINERS: Change Boris' email address
        EDAC: Change Boris' email address
        x86, AMD: Change Boris' email address
      2654ad44
    • L
      Merge tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6 · 35f95d22
      Linus Torvalds 提交于
      Pull MTD fixes from David Woodhouse:
       "The most important part of this is that it fixes a regression in
        Samsung NAND chip detection, introduced by some rework which went into
        3.7.  The initial fix wasn't quite complete, so it's in two parts.  In
        fact the first part is committed twice (Artem committed his own copy
        of the same patch) and I've merged Artem's tree into mine which
        already had that fix.
      
        I'd have recommitted that to make it somewhat cleaner, but figured by
        this point in the release cycle it was better to merge *exactly* the
        commits which have been in linux-next.
      
        If I'd recommitted, I'd also omit the sparse warning fix.  But it's
        there, and it's harmless — just marking one function as 'static' in
        onenand code.
      
        This also includes a couple more fixes for stable: an AB-BA deadlock
        in JFFS2, and an invalid range check in slram."
      
      * tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6:
        mtd: nand: fix Samsung SLC detection regression
        mtd: nand: fix Samsung SLC NAND identification regression
        jffs2: Fix lock acquisition order bug in jffs2_write_begin
        mtd: onenand: Make flexonenand_set_boundary static
        mtd: slram: invalid checking of absolute end address
        mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions()
        mtd: nand: fix Samsung SLC NAND identification regression
      35f95d22
    • L
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6 · 5e351cdc
      Linus Torvalds 提交于
      Pull device tree regression fix from Grant Likely:
       "Simple build regression fix for DT device drivers on Sparc.  An
        earlier change had masked out the of_iomap() helper on SPARC."
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        of/address: sparc: Declare of_iomap as an extern function for sparc again
      5e351cdc
    • L
      Merge tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a0543d64
      Linus Torvalds 提交于
      Pull power management update from Rafael Wysocki:
       "Fix for an incorrect error condition check in device PM QoS code that
        may lead to an Oops from Guennadi Liakhovetski."
      
      * tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / QoS: fix wrong error-checking condition
      a0543d64
    • L
      Merge tag 'md-3.7-fixes' of git://neil.brown.name/md · 1d838d70
      Linus Torvalds 提交于
      Pull md fixes from NeilBrown:
       "Several bug fixes for md in 3.7:
      
         - raid5 discard has problems
         - raid10 replacement devices have problems
         - bad block lock seqlock usage has problems
         - dm-raid doesn't free everything"
      
      * tag 'md-3.7-fixes' of git://neil.brown.name/md:
        md/raid10: decrement correct pending counter when writing to replacement.
        md/raid10: close race that lose writes lost when replacement completes.
        md/raid5: Make sure we clear R5_Discard when discard is finished.
        md/raid5: move resolving of reconstruct_state earlier in stripe_handle.
        md/raid5: round discard alignment up to power of 2.
        md: make sure everything is freed when dm-raid stops an array.
        md: Avoid write invalid address if read_seqretry returned true.
        md: Reassigned the parameters if read_seqretry returned true in func md_is_badblock.
      1d838d70
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · a8946afe
      Linus Torvalds 提交于
      Pull block layer fixes from Jens Axboe:
       "Distilled down version of bug fixes for 3.7.  The patches have been
        well tested.  If you notice that commit dates are from today, it's
        because I pulled less important bits out and shuffled them into the
        3.8 mix.  Apart from that, no changes, base still the same.
      
        It contains:
      
         - Fix for aoe, don't run request_fn while it's plugged.
      
         - Fix for a regression in floppy since 3.6, which causes problems if
           no floppy is found.
      
         - Stable fix for blk_exec(), don't touch a request after it has been
           sent to the scheduler (and the device as well).
      
         - Five fixes for various nasties in mtip32xx."
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: Don't access request after it might be freed
        mtip32xx: Fix padding issue
        aoe: avoid running request handler on plugged queue
        mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()
        mtip32xx: fix shift larger than type warning
        mtip32xx: Fix incorrect mask used for erase mode
        mtip32xx: Fix to make lba address correct in big-endian systems
        mtip32xx: fix potential crash on SEC_ERASE_UNIT
        dm: fix deadlock with request based dm and queue request_fn recursion
        floppy: destroy floppy workqueue before cleaning up the queue
      a8946afe
    • A
      of/address: sparc: Declare of_iomap as an extern function for sparc again · 0e622d39
      Andreas Larsson 提交于
      This bug-fix makes sure that of_iomap is defined extern for sparc so that the
      sparc-specific implementation of_iomap is once again used when including
      include/linux/of_address.h in a sparc context. OF_GPIO that is now available for
      sparc relies on this.
      
      The bug was inadvertently introduced in a850a755, "of/address: add empty static
      inlines for !CONFIG_OF", that added a static dummy inline for of_iomap when
      !CONFIG_OF_ADDRESS. However, CONFIG_OF_ADDRESS is never defined for sparc, but
      there is a sparc-specific implementation /arch/sparc/kernel/of_device_common.c.
      
      This fix takes the same approach as 0bce04be that solved the equivalent problem
      for of_address_to_resource.
      Signed-off-by: NAndreas Larsson <andreas@gaisler.com>
      Acked-by: NDavid Miller <davem@davemloft.net>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      0e622d39
    • L
      Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux · f789dcc7
      Linus Torvalds 提交于
      Pull omapdss fixes from Tomi Valkeinen:
       "Here are a few OMAPDSS fixes for the next -rc.  I'm sending these
        directly to you, and quite late, as the fbdev tree maintainer
        (Florian) has been busy with his work and hasn't had time to manage
        the fb patches."
      
      * tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux:
        OMAPDSS: do not fail if dpll4_m4_ck is missing
        OMAPFB: Fix possible null pointer dereferencing
        OMAPDSS: HDMI: fix missing unlock on error in hdmi_dump_regs()
        omapdss: dss: Fix clocks on OMAP363x
        OMAPDSS: DSI: fix dsi_get_dsidev_from_id()
      f789dcc7
    • L
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 33f14593
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "Bugfixes for the i2c subsystem.
      
        Except for a few one-liners, there is mainly one revert because of an
        overlooked dependency.  Since there is no linux-next at the moment, I
        did some extra testing, and all was fine for me."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: mxs: Handle i2c DMA failure properly
        i2c: s3c2410: Fix code to free gpios
        i2c: omap: ensure writes to dev->buf_len are ordered
        Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"
        i2c: at91: fix SMBus quick command
      33f14593
    • L
      Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f470b8c2
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "The highlight of this update is the fixes for ASoC kirkwood by
        Russell.  In addition to that, a couple of regression fixes for
        HD-audio due to the runtime PM support on 3.7, and other driver-
        specific regression fixes like USB MIDI on non-standard USB audio
        drivers."
      
      * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: snd-usb: properly initialize the sync endpoint
        ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker
        ALSA: hda - Add support for Realtek ALC292
        ASoC: kirkwood-i2s: more pause-mode fixes
        ASoC: kirkwood-i2s: fix DMA underruns
        ASoC: kirkwood-i2s: fix DCO lock detection
        ASoC: kirkwood-dma: don't ignore other irq causes on error
        ASoC: kirkwood-dma: fix use of virt_to_phys()
        ALSA: hda - Limit runtime PM support only to known Intel chips
        ALSA: hda - Fix recursive suspend/resume call
        ALSA: ua101, usx2y: fix broken MIDI output
        ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
        ASoC: bells: Fix up git patch application failure
        ASoC: cs4271: free allocated GPIO
      f470b8c2
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · eb5aaedd
      Linus Torvalds 提交于
      Pull networkign fixes from David Miller:
       "Networking bug fixes, Cacio e Pepe edition:
      
        1) BNX2X accidently accesses chip rev specific registers without an
           appropriate guard, fix from Ariel Elior.
      
        2) When we removed the routing cache, we set ip_rt_max_size to ~0 just
           to keep reporting a value to userspace via sysfs.  But the ipv4
           IPSEC layer was using this to tune itself which is completely bogus
           to now do.  Fix from Steffen Klassert.
      
        3) Missing initialization in netfilter ipset code from Jozsef
           Kadlecsik.
      
        4) Check CTA_TIMEOUT_NAME length properly in netfilter cttimeout code,
           fix from Florian Westphal.
      
        5) After removing the routing cache, we inadvertantly are caching
           multicast routes that end up looping back locally, we cannot do
           that legitimately any more.  Fix from Julian Anastasov.
      
        6) Revert a race fix for 8139cp qemu/kvm that doesn't actually work
           properly on real hardware.  From Francois Romieu.
      
        7) Fixup errors in example command lines in VXLAN device docs."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        bnx2x: remove redundant warning log
        vxlan: fix command usage in its doc
        8139cp: revert "set ring address before enabling receiver"
        ipv4: do not cache looped multicasts
        netfilter: cttimeout: fix buffer overflow
        netfilter: ipset: Fix range bug in hash:ip,port,net
        xfrm: Fix the gc threshold value for ipv4
      eb5aaedd
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · f3a443af
      Linus Torvalds 提交于
      Pull sparc fix from David Miller:
       "Bug fix from Al Viro"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()
      f3a443af
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 45aaff06
      Linus Torvalds 提交于
      Pull one more ARM SoC fix from Olof Johansson:
       "I missed one pull request from Samsung with one fix in the previous
        batch.  Here it is -- a dma driver fix for an early version of silicon
        that they still support."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC
      45aaff06
    • G
      PM / QoS: fix wrong error-checking condition · a7227a0f
      Guennadi Liakhovetski 提交于
      dev_pm_qos_add_request() can return 0, 1, or a negative error code,
      therefore the correct error test is "if (error < 0)." Checking just for
      non-zero return code leads to erroneous setting of the req->dev pointer
      to NULL, which then leads to a repeated call to
      dev_pm_qos_add_ancestor_request() in st1232_ts_irq_handler(). This in turn
      leads to an Oops, when the I2C host adapter is unloaded and reloaded again
      because of the inconsistent state of its QoS request list.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a7227a0f
    • N
      net/macb: GEM DMA configuration register update · b3e3bd71
      Nicolas Ferre 提交于
      Add information to the DMA Configuration Register to
      maximize system performance:
      - rx/tx packet buffer full memory size
      - allow possibility to use INCR16 if supported
      Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: Joachim Eastwood <manabian@gmail.com
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3e3bd71
    • J
      asix: use ramdom hw addr if the one read is not valid · 452b5ecd
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: linux-usb@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      452b5ecd
    • J
      net: add micrel KSZ8873MLL switch support · 93272e07
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      this will allow to detect the link between the switch and the soc
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93272e07
    • S
      be2net: fix a possible events_get() race on BE2 · 0b545a62
      Sathya Perla 提交于
      On BE2 chip, an interrupt being raised even when EQ is in un-armed state has
      been observed a few times.  This is not expected and has never been
      observed on BE3/Lancer chips.
      
      As a consequence, be_msix()::events_get() and be_poll()::events_get()
      can race and notify an EQ wrongly causing a CEV UE. The other possible
      side-effect would be traffic stalling because after notifying EQ,
      napi_schedule() is ignored as NAPI is already running.
      
      This patch fixes this issue by counting events only in be_poll().
      Signed-off-by: NSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b545a62