26 Nov, 2012

6 commits

  • This patch makes it possible to build the CAN Identifier into the kernel, even
    if the CAN support is build as a module.

    Signed-off-by: Marc Kleine-Budde
    Signed-off-by: David S. Miller

    Marc Kleine-Budde
     
  • Recovery doesn't work too well if we leave interrupts disabled...

    Signed-off-by: David Woodhouse
    Acked-by: Francois Romieu
    Signed-off-by: David S. Miller

    David Woodhouse
     
  • This adds support for byte queue limits on RTL8139C+

    Tested on real hardware.

    Signed-off-by: David Woodhouse
    Acked-By: Dave Täht
    Signed-off-by: David S. Miller

    David Woodhouse
     
  • This fixes (for me) a regression introduced by commit b01af457 ("8139cp:
    set ring address before enabling receiver"). That commit configured the
    descriptor ring addresses earlier in the initialisation sequence, in
    order to avoid the possibility of triggering stray DMA before the
    correct address had been set up.

    Unfortunately, it seems that the hardware will scribble garbage into the
    TxRingAddr registers when we enable "plus mode" Tx in the CpCmd
    register. Observed on a Traverse Geos router board.

    To deal with this, while not reintroducing the problem which led to the
    original commit, we augment cp_start_hw() to write to the CpCmd register
    *first*, then set the descriptor ring addresses, and then finally to
    enable Rx and Tx in the original 8139 Cmd register. The datasheet
    actually indicates that we should enable Tx/Rx in the Cmd register
    *before* configuring the descriptor addresses, but that would appear to
    re-introduce the problem that the offending commit b01af457 was trying
    to solve. And this variant appears to work fine on real hardware.

    Signed-off-by: David Woodhouse
    Cc: stable@kernel.org [3.5+]
    Signed-off-by: David S. Miller

    David Woodhouse
     
  • This reverts commit b26623dab7eeb1e9f5898c7a49458789dd492f20.

    This reverts the revert, in net-next we'll try another scheme
    to fix this bug using patches from David Woodhouse.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Conflicts:
    drivers/net/wireless/iwlwifi/pcie/tx.c

    Minor iwlwifi conflict in TX queue disabling between 'net', which
    removed a bogus warning, and 'net-next' which added some status
    register poking code.

    Signed-off-by: David S. Miller

    David S. Miller
     

25 Nov, 2012

1 commit


24 Nov, 2012

29 commits

  • I forgot this again... codec->in_pm is in #ifdef CONFIG_PM

    Reported-by: Markus Trippelsdorf
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • 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

    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

    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

    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

    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.

    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

    Linus Torvalds
     
  • 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 a850a75, "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 0bce04b that solved the equivalent problem
    for of_address_to_resource.

    Signed-off-by: Andreas Larsson
    Acked-by: David Miller
    Signed-off-by: Grant Likely

    Andreas Larsson
     
  • 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()

    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

    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

    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

    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()

    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

    Linus Torvalds
     
  • 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: Guennadi Liakhovetski
    Cc:
    Signed-off-by: Rafael J. Wysocki

    Guennadi Liakhovetski
     
  • 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: Nicolas Ferre
    Acked-by: Joachim Eastwood

    Nicolas Ferre
     
  • Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: linux-usb@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller

    Jean-Christophe PLAGNIOL-VILLARD
     
  • this will allow to detect the link between the switch and the soc

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller

    Jean-Christophe PLAGNIOL-VILLARD
     
  • 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: Sathya Perla
    Signed-off-by: David S. Miller

    Sathya Perla
     
  • This patch changes tun_get_iff() prototype to return void as it never fails.

    Signed-off-by: Rami Rosen
    Signed-off-by: David S. Miller

    Rami Rosen
     
  • fix bug where a register which was only meant to be read in 578xx/57712
    devices causes a bogus error message to be logged when read from other
    devices.

    Signed-off-by: Ariel Elior
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Ariel Elior
     
  • This patch splits out the logic for entering suspend modes
    to separate functions, to reduce the complexity of the
    smsc95xx_suspend function.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • This patch enables LAN9500 family devices to wake from suspend
    on either link up or link down events

    It also adds _nopm versions of mdio access functions, so we can
    safely call them from suspend and resume functions

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Instead of storing the number of wake-up frame filter registers
    in the pdata structure, this patch changes the driver to detect
    the type of device we have and store its available features.

    The new two features will be used in future patches.

    This patch is intended to have no change in behaviour.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • without this patch the two lines below won't ever execute

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • This function no longer exists.

    Signed-off-by: Neal Cardwell
    Signed-off-by: David S. Miller

    Neal Cardwell
     
  • Paul Gortmaker says:

    ====================
    The most interesting thing here, at least from a user perspective,
    is the broadcast link fix -- where there was a corner case where
    two endpoints could get in a state where they disagree on where
    to start Rx and ack of broadcast packets.

    There is also the poll/wait changes which could also impact
    end users for certain use cases - the fixes there also better
    align tipc with the rest of the networking code.

    The rest largely falls into routine cleanup category, by getting
    rid of some unused routines, some Kconfig clutter, etc.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Some commands don't work in its example doc. The patch will fix it.

    Signed-off-by: Zhi Yong Wu
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.

    The original patch was tested with emulated hardware. Real
    hardware chokes.

    Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041

    Signed-off-by: Francois Romieu
    Acked-by: Jeff Garzik
    Signed-off-by: David S. Miller

    françois romieu
     

23 Nov, 2012

4 commits

  • After we've done __elv_add_request() and __blk_run_queue() in
    blk_execute_rq_nowait(), the request might finish and be freed
    immediately. Therefore checking if the type is REQ_TYPE_PM_RESUME
    isn't safe afterwards, because if it isn't, rq might be gone.
    Instead, check beforehand and stash the result in a temporary.

    This fixes crashes in blk_execute_rq_nowait() I get occasionally when
    running with lots of memory debugging options enabled -- I think this
    race is usually harmless because the window for rq to be reallocated
    is so small.

    Signed-off-by: Roland Dreier
    Cc: stable@kernel.org
    Signed-off-by: Jens Axboe

    Roland Dreier
     
  • Hi Jens,

    Another tiny patch.

    Removed __packed before the struct smart_attr and added __packed at end of
    the structure to fix padding issue.

    Signed-off-by: Selvan Mani
    Signed-off-by: Asai Thambi S P
    Signed-off-by: Jens Axboe

    Selvan Mani
     
  • Calling the request handler directly on a plugged queue defeats
    the performance improvements provided by the plugging mechanism.
    Use the __blk_run_queue function instead of calling the request
    handler directly, so that we don't interfere with the block
    layer's ability to plug the queue.

    Signed-off-by: Ed Cashin
    Signed-off-by: Jens Axboe

    Ed Cashin
     
  • The dereference to port should be moved below the NULL test.

    dpatch engine is used to auto generate this patch.
    (https://github.com/weiyj/dpatch)

    Signed-off-by: Wei Yongjun
    Signed-off-by: Jens Axboe

    Wei Yongjun