10 Apr, 2013

1 commit


08 Apr, 2013

8 commits

  • Signed-off-by: Hong Zhiguo
    Cc: peterz@infradead.org
    Link: http://lkml.kernel.org/r/1365058881-4044-1-git-send-email-honkiko@gmail.com
    Signed-off-by: Ingo Molnar

    Hong Zhiguo
     
  • Linus Torvalds
     
  • Pull KVM fix from Gleb Natapov:
    "Bugfix for the regression introduced by commit c300aa64ddf5"

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: Allow cross page reads and writes from cached translations.

    Linus Torvalds
     
  • Pull x86 fixes from Peter Anvin:
    "Two quite small fixes: one a build problem, and the other fixes
    seccomp filters on x32."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Fix rebuild with EFI_STUB enabled
    x86: remove the x32 syscall bitmask from syscall_get_nr()

    Linus Torvalds
     
  • Interrupt handlers are always invoked with interrupts disabled, so
    remove all uses of the deprecated IRQF_DISABLED flag.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Reviewed-by: Matt Turner
    Signed-off-by: Will Deacon
    Signed-off-by: Michael Cree
    Signed-off-by: Linus Torvalds

    Will Deacon
     
  • Linux has expected that interrupt handlers are executed with local
    interrupts disabled for a while now, so ensure that this is the case on
    Alpha even for non-device interrupts such as IPIs.

    Without this patch, secondary boot results in the following backtrace:

    warning: at kernel/softirq.c:139 __local_bh_enable+0xb8/0xd0()
    trace:
    __local_bh_enable+0xb8/0xd0
    irq_enter+0x74/0xa0
    scheduler_ipi+0x50/0x100
    handle_ipi+0x84/0x260
    do_entint+0x1ac/0x2e0
    irq_exit+0x60/0xa0
    handle_irq+0x98/0x100
    do_entint+0x2c8/0x2e0
    ret_from_sys_call+0x0/0x10
    load_balance+0x3e4/0x870
    cpu_idle+0x24/0x80
    rcu_eqs_enter_common.isra.38+0x0/0x120
    cpu_idle+0x40/0x80
    rest_init+0xc0/0xe0
    _stext+0x1c/0x20

    A similar dump occurs if you try to reboot using magic-sysrq.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Reviewed-by: Matt Turner
    Signed-off-by: Will Deacon
    Signed-off-by: Michael Cree
    Signed-off-by: Linus Torvalds

    Will Deacon
     
  • Due to all of the goodness being packed into today's kernels, the
    resulting image isn't as slim as it once was.

    In light of this, don't pass -msmall-data to gcc, which otherwise results
    in link failures due to impossible relocations when compiling anything but
    the most trivial configurations.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Reviewed-by: Matt Turner
    Tested-by: Thorsten Kranzkowski
    Signed-off-by: Will Deacon
    Signed-off-by: Michael Cree
    Signed-off-by: Linus Torvalds

    Will Deacon
     
  • Fixes a NULL pointer dereference at boot on UP1500.

    Cc: stable@vger.kernel.org
    Reviewed-and-Tested-by: Matt Turner
    Signed-off-by: Jay Estabrook
    Signed-off-by: Matt Turner
    Signed-off-by: Michael Cree
    Signed-off-by: Linus Torvalds

    Jay Estabrook
     

07 Apr, 2013

1 commit

  • This patch adds support for kvm_gfn_to_hva_cache_init functions for
    reads and writes that will cross a page. If the range falls within
    the same memslot, then this will be a fast operation. If the range
    is split between two memslots, then the slower kvm_read_guest and
    kvm_write_guest are used.

    Tested: Test against kvm_clock unit tests.

    Signed-off-by: Andrew Honig
    Signed-off-by: Gleb Natapov

    Andrew Honig
     

06 Apr, 2013

13 commits

  • Pull device-mapper fixes from Alasdair Kergon:
    "A pair of patches to fix the writethrough mode of the device-mapper
    cache target when the device being cached is not itself wrapped with
    device-mapper."

    * tag 'dm-3.9-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
    dm cache: reduce bio front_pad size in writeback mode
    dm cache: fix writes to cache device in writethrough mode

    Linus Torvalds
     
  • Pull PCI fixes from Bjorn Helgaas:
    "PCI updates for v3.9:

    ASPM
    Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
    kexec
    PCI: Don't try to disable Bus Master on disconnected PCI devices
    Platform ROM images
    PCI: Add PCI ROM helper for platform-provided ROM images
    nouveau: Attempt to use platform-provided ROM image
    radeon: Attempt to use platform-provided ROM image
    Hotplug
    PCI/ACPI: Always resume devices on ACPI wakeup notifications
    PCI/PM: Disable runtime PM of PCIe ports
    EISA
    EISA/PCI: Fix bus res reference
    EISA/PCI: Init EISA early, before PNP"

    * tag 'pci-v3.9-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI/PM: Disable runtime PM of PCIe ports
    PCI/ACPI: Always resume devices on ACPI wakeup notifications
    PCI: Don't try to disable Bus Master on disconnected PCI devices
    Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
    radeon: Attempt to use platform-provided ROM image
    nouveau: Attempt to use platform-provided ROM image
    EISA/PCI: Init EISA early, before PNP
    EISA/PCI: Fix bus res reference
    PCI: Add PCI ROM helper for platform-provided ROM images

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix erroneous sock_orphan() leading to crashes and double
    kfree_skb() in NFC protocol. From Thierry Escande and Samuel Ortiz.

    2) Fix use after free in remain-on-channel mac80211 code, from Johannes
    Berg.

    3) nf_reset() needs to reset the NF tracing cookie, otherwise we can
    leak it from one namespace into another. Fix from Gao Feng and
    Patrick McHardy.

    4) Fix overflow in channel scanning array of mwifiex driver, from Stone
    Piao.

    5) Fix loss of link after suspend/shutdown in r8169, from Hayes Wang.

    6) Synchronization of unicast address lists to the undelying device
    doesn't work because whether to sync is maintained as a boolean
    rather than a true count. Fix from Vlad Yasevich.

    7) Fix corruption of TSO packets in atl1e by limiting the segmented
    packet length. From Hannes Frederic Sowa.

    8) Revert bogus AF_UNIX credential passing change and fix the
    coalescing issue properly, from Eric W Biederman.

    9) Changes of ipv4 address lifetime settings needs to generate a
    notification, from Jiri Pirko.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)
    netfilter: don't reset nf_trace in nf_reset()
    net: ipv4: notify when address lifetime changes
    ixgbe: fix registration order of driver and DCA nofitication
    af_unix: If we don't care about credentials coallesce all messages
    Revert "af_unix: dont send SCM_CREDENTIAL when dest socket is NULL"
    bonding: remove sysfs before removing devices
    atl1e: limit gso segment size to prevent generation of wrong ip length fields
    net: count hw_addr syncs so that unsync works properly.
    r8169: fix auto speed down issue
    netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix lengths
    mwifiex: limit channel number not to overflow memory
    NFC: microread: Fix build failure due to a new MEI bus API
    iwlwifi: dvm: fix the passive-no-RX workaround
    netfilter: nf_conntrack: fix error return code
    NFC: llcp: Keep the connected socket parent pointer alive
    mac80211: fix idle handling sequence
    netfilter: nfnetlink_acct: return -EINVAL if object name is empty
    netfilter: nfnetlink_queue: fix error return code in nfnetlink_queue_init()
    netfilter: reset nf_trace in nf_reset
    mac80211: fix remain-on-channel cancel crash
    ...

    Linus Torvalds
     
  • eboot.o and efi_stub_$(BITS).o didn't get added to "targets", and hence
    their .cmd files don't get included by the build machinery, leading to
    the files always getting rebuilt.

    Rather than adding the two files individually, take the opportunity and
    add $(VMLINUX_OBJS) to "targets" instead, thus allowing the assignment
    at the top of the file to be shrunk quite a bit.

    At the same time, remove a pointless flags override line - the variable
    assigned to was misspelled anyway, and the options added are
    meaningless for assembly sources.

    [ hpa: the patch is not minimal, but I am taking it for -urgent anyway
    since the excess impact of the patch seems to be small enough. ]

    Signed-off-by: Jan Beulich
    Link: http://lkml.kernel.org/r/515C5D2502000078000CA6AD@nat28.tlf.novell.com
    Cc: Matthew Garrett
    Cc: Matt Fleming
    Signed-off-by: H. Peter Anvin

    Jan Beulich
     
  • Commit 130549fe ("netfilter: reset nf_trace in nf_reset") added code
    to reset nf_trace in nf_reset(). This is wrong and unnecessary.

    nf_reset() is used in the following cases:

    - when passing packets up the the socket layer, at which point we want to
    release all netfilter references that might keep modules pinned while
    the packet is queued. nf_trace doesn't matter anymore at this point.

    - when encapsulating or decapsulating IPsec packets. We want to continue
    tracing these packets after IPsec processing.

    - when passing packets through virtual network devices. Only devices on
    that encapsulate in IPv4/v6 matter since otherwise nf_trace is not
    used anymore. Its not entirely clear whether those packets should
    be traced after that, however we've always done that.

    - when passing packets through virtual network devices that make the
    packet cross network namespace boundaries. This is the only cases
    where we clearly want to reset nf_trace and is also what the
    original patch intended to fix.

    Add a new function nf_reset_trace() and use it in dev_forward_skb() to
    fix this properly.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Pull MIPS fixes from Ralf Baechle:
    "Fixes for a number of small glitches in various corners of the MIPS
    tree. No particular areas is standing out.

    With this applied all MIPS defconfigs are building fine. No merge
    conflicts are expected."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Delete definition of SA_RESTORER.
    MIPS: Fix ISA level which causes secondary cache init bypassing and more
    MIPS: Fix build error cavium-octeon without CONFIG_SMP
    MIPS: Kconfig: Rename SNIPROM too
    MIPS: Alchemy: Fix typo "CONFIG_DEBUG_PCI"
    MIPS: Unbreak function tracer for 64-bit kernel.

    Linus Torvalds
     
  • Pull GFS2 fixes from Steven Whitehouse:
    "There are two patches which fix up a couple of minor issues in the DLM
    interface code, a missing error path in gfs2_rs_alloc(), one patch
    which fixes a problem during "withdraw" and a fix for discards/FITRIM
    when using 4k sector sized devices."

    * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:
    GFS2: Issue discards in 512b sectors
    GFS2: Fix unlock of fcntl locks during withdrawn state
    GFS2: return error if malloc failed in gfs2_rs_alloc()
    GFS2: use memchr_inv
    GFS2: use kmalloc for lvb bitmap

    Linus Torvalds
     
  • Commit e2eed58b4fbf ("IB/qib: change QLogic to Intel") moved a firmware
    file potentially breaking the ABI.

    This patch reverts that aspect of the fix as well as reverting the
    firmware name as used in qib.

    Reported-by: David Woodhouse
    Signed-off-by: Mike Marciniszyn
    Signed-off-by: Linus Torvalds

    Mike Marciniszyn
     
  • Pull spi fixes from Mark Brown:
    "A bunch of small driver fixes plus a fix for error handling in the
    core - nothing too exciting overall."

    * tag 'spi-fix-v3.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
    spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts
    spi: Unlock a spinlock before calling into the controller driver.
    spi/s3c64xx: modified error interrupt handling and init
    spi/bcm63xx: don't disable non enabled clocks in probe error path
    spi/bcm63xx: Remove unused variable
    spi: slink-tegra20: move runtime pm calls to transfer_one_message

    Linus Torvalds
     
  • This patch changes GFS2's discard issuing code so that it calls
    function sb_issue_discard rather than blkdev_issue_discard. The
    code was calling blkdev_issue_discard and specifying the correct
    sector offset and sector size, but blkdev_issue_discard expects
    these values to be in terms of 512 byte sectors, even if the native
    sector size for the device is different. Calling sb_issue_discard
    with the BLOCK size instead ensures the correct block-to-512b-sector
    translation. I verified that "minlen" is specified in blocks, so
    comparing it to a number of blocks is correct.

    Signed-off-by: Bob Peterson
    Signed-off-by: Steven Whitehouse

    Bob Peterson
     
  • This reverts commit 0ef1594c017521ea89278e80fe3f80dafb17abde.

    This patch introduced a few races which cannot be easily fixed with a
    small follow-up patch. Furthermore, the SoC with the broken hardware
    register, which this patch intended to add support for, can only be used
    with device trees, which this driver currently does not support.

    [ Here is the discussion that led to this "revert" patch:
    https://lkml.org/lkml/2013/4/3/176 ]

    Cc: stable
    Signed-off-by: Johan Hovold
    Signed-off-by: Nicolas Ferre
    Signed-off-by: Linus Torvalds

    Johan Hovold
     
  • Pull fbdev fixes from Tomi Valkeinen:
    "Fix uvesafb crash bug and typoed flag name in fbmon's new videomode
    code"

    * tag 'fbdev-fixes-3.9-rc6' of git://gitorious.org/linux-omap-dss2/linux:
    video:uvesafb: Fix dereference NULL pointer code path
    fbmon: use VESA_DMT_VSYNC_HIGH to fix typo

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This contains slightly more volumes than usual at this stage, mostly
    because of my vacation in the last week. Nothing to scare, all small
    and/or trivial fixes:

    - Fix loop path handling in ASoC DAPM
    - Some memory handling fixes in ASoC core
    - Fix spear_pcm to adapt to the updated API
    - HD-audio HDMI ELD handling fixes
    - Fix for CM6331 USB-audio SRC change bugs
    - Revert power_save_controller option change due to user-space usage
    - A few other small ASoC and HD-audio fixes"

    * tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/generic - fix uninitialized variable
    Revert "ALSA: hda - Allow power_save_controller option override DCAPS"
    ALSA: hda - fix typo in proc output
    ALSA: hda - Enabling Realtek ALC 671 codec
    ALSA: usb: Work around CM6631 sample rate change bug
    ALSA: hda - bug fix on HDMI ELD debug message
    ALSA: hda - bug fix on return value when getting HDMI ELD info
    ASoC: dma-sh7760: Fix compile error
    ASoC: core: fix invalid free of devm_ allocated data
    ASoC: spear_pcm: Update to new pcm_new() API
    ASoC:: max98090: Remove executable bit
    ASoC: dapm: Fix pointer dereference in is_connected_output_ep()
    ASoC: pcm030 audio fabric: remove __init from probe
    ASoC: imx-ssi: Fix occasional AC97 reset failure
    ASoC: core: fix possible memory leak in snd_soc_bytes_put()
    ASoC: wm_adsp: fix possible memory leak in wm_adsp_load_coeff()
    ASoC: dapm: Fix handling of loops
    ASoC: si476x: Add missing break for SNDRV_PCM_FORMAT_S8 switch case

    Linus Torvalds
     

05 Apr, 2013

17 commits

  • A recent patch to fix the dm cache target's writethrough mode extended
    the bio's front_pad to include a 1056-byte struct dm_bio_details.
    Writeback mode doesn't need this, so this patch reduces the
    per_bio_data_size to 16 bytes in this case instead of 1096.

    The dm_bio_details structure was added in "dm cache: fix writes to
    cache device in writethrough mode" which fixed commit e2e74d617e ("dm
    cache: fix race in writethrough implementation"). In writeback mode
    we avoid allocating the writethrough-specific members of the
    per_bio_data structure (the dm_bio_details structure included).

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • The dm-cache writethrough strategy introduced by commit e2e74d617eadc15
    ("dm cache: fix race in writethrough implementation") issues a bio to
    the origin device, remaps and then issues the bio to the cache device.
    This more conservative in-series approach was selected to favor
    correctness over performance (of the previous parallel writethrough).
    However, this in-series implementation that reuses the same bio to write
    both the origin and cache device didn't take into account that the block
    layer's req_bio_endio() modifies a completing bio's bi_sector and
    bi_size. So the new writethrough strategy needs to preserve these bio
    fields, and restore them before submission to the cache device,
    otherwise nothing gets written to the cache (because bi_size is 0).

    This patch adds a struct dm_bio_details field to struct per_bio_data,
    and uses dm_bio_record() and dm_bio_restore() to ensure the bio is
    restored before reissuing to the cache device. Adding such a large
    structure to the per_bio_data is not ideal but we can improve this
    later, for now correctness is the important thing.

    This problem initially went unnoticed because the dm-cache test-suite
    uses a linear DM device for the dm-cache device's origin device.
    Writethrough worked as expected because DM submits a *clone* of the
    original bio, so the original bio which was reused for the cache was
    never touched.

    Signed-off-by: Darrick J. Wong
    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Darrick J. Wong
     
  • SA_RESTORER used to be defined as 0x04000000 but only the O32 ABI ever
    supported its use and no libc was using it, so the entire sa-restorer
    functionality was removed with lmo commit 39bffc12c3580ab [Zap sa_restorer.]
    for 2.5.48 retaining only the SA_RESTORER definition as a reminder to avoid
    accidental reuse of the mask bit.

    Upstream cdef9602fbf1871a43f0f1b5cea10dd0f275167d [signal: always clear
    sa_restorer on execve] adds code that assumes sa_sigaction has an
    sa_restorer field, if SA_RESTORER is defined which would break MIPS.
    So remove the SA_RESTORER definition before the v3.8.4 merge.

    Signed-off-by: Ralf Baechle
    (cherry picked from commit 17da8d63add23830892ac4dc2cbb3b5d4ffb79a8)

    Ralf Baechle
     
  • The commit a96102be70 introduced set_isa() where compatible ISA info is
    also set aside from the one gets passed in. It means, for example, 1004K
    will have MIPS_CPU_ISA_M32R2/M32R1/II/I flags. This leads to things like
    the following inappropriate:

    if (c->isa_level == MIPS_CPU_ISA_M32R1 ||
    c->isa_level == MIPS_CPU_ISA_M32R2 ||
    c->isa_level == MIPS_CPU_ISA_M64R1 ||
    c->isa_level == MIPS_CPU_ISA_M64R2)

    This patch fixes it.

    Signed-off-by: Deng-Cheng Zhu
    Cc: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Ralf Baechle

    Deng-Cheng Zhu
     
  • Singed-off-by: EunBong Song
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ralf Baechle

    EunBong Song
     
  • CONFIG_SNIPROM was renamed to CONFIG_FW_SNIPROM in v3.8. Let's rename
    SNIPROM itself too.

    Signed-off-by: Paul Bolle
    Cc: linux-mips@linux-mips.org;
    Cc: linux-kernel@vger.kernel.org
    Cc: Thomas Bogendoerfer
    Signed-off-by: Ralf Baechle

    Paul Bolle
     
  • Commit 7517de348663b08a808aff44b5300e817157a568 ("MIPS: Alchemy: Redo
    PCI as platform driver") added a reference to CONFIG_DEBUG_PCI. Change
    it to CONFIG_PCI_DEBUG, as that is a valid Kconfig macro.

    Also add a newline to a debugging printk that this fix enables.

    Signed-off-by: Paul Bolle
    Cc: Sergei Shtylyov
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ralf Baechle

    Paul Bolle
     
  • Commit 58b69401c797 [MIPS: Function tracer: Fix broken function tracing]
    completely broke the function tracer for 64-bit kernels. The symptom is
    a system hang very early in the boot process.

    The fix: Remove/fix $sp adjustments for 64-bit case.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Al Cooper
    Cc: viric@viric.name
    Cc: stable@vger.kernel.org # 3.8.x
    Signed-off-by: Ralf Baechle

    David Daney
     
  • changed is not initialized in path_power_down_sync, but it is expected
    to be false in case no change happened in the loop. So set it to
    false.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Takashi Iwai

    Jiri Slaby
     
  • if userspace changes lifetime of address, send netlink notification and
    call notifier.

    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • ixgbe_notify_dca cannot be called before driver registration
    because it expects driver's klist_devices to be allocated and
    initialized. While on it make sure debugfs files are removed
    when registration fails.

    Cc: stable
    Signed-off-by: Jakub Kicinski
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • It was reported that the following LSB test case failed
    https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
    were not coallescing unix stream messages when the application was
    expecting us to.

    The problem was that the first send was before the socket was accepted
    and thus sock->sk_socket was NULL in maybe_add_creds, and the second
    send after the socket was accepted had a non-NULL value for sk->socket
    and thus we could tell the credentials were not needed so we did not
    bother.

    The unnecessary credentials on the first message cause
    unix_stream_recvmsg to start verifying that all messages had the same
    credentials before coallescing and then the coallescing failed because
    the second message had no credentials.

    Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
    long standing pessimization which would fail to coallesce messages when
    reading from a unix stream socket if the senders were different even if
    we did not care about their credentials.

    I have tested this and verified that the in the LSB test case mentioned
    above that the messages do coallesce now, while the were failing to
    coallesce without this change.

    Reported-by: Karel Srot
    Reported-by: Ding Tianhong
    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • This reverts commit 14134f6584212d585b310ce95428014b653dfaf6.

    The problem that the above patch was meant to address is that af_unix
    messages are not being coallesced because we are sending unnecesarry
    credentials. Not sending credentials in maybe_add_creds totally
    breaks unconnected unix domain sockets that wish to send credentails
    to other sockets.

    In practice this break some versions of udev because they receive a
    message and the sending uid is bogus so they drop the message.

    Reported-by: Sven Joachim
    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • We have a race condition if we try to rmmod bonding and simultaneously add
    a bond master through sysfs. In bonding_exit() we first remove the devices
    (through rtnl_link_unregister() ) and only after that we remove the sysfs.
    If we manage to add a device through sysfs after that the devices were
    removed - we'll end up with that device/sysfs structure and with the module
    unloaded.

    Fix this by first removing the sysfs and only after that calling
    rtnl_link_unregister().

    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • The limit of 0x3c00 is taken from the windows driver.

    Suggested-by: Huang, Xiong
    Cc: Huang, Xiong
    Cc: Eric Dumazet
    Signed-off-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    Hannes Frederic Sowa
     
  • A few drivers use dev_uc_sync/unsync to synchronize the
    address lists from master down to slave/lower devices. In
    some cases (bond/team) a single address list is synched down
    to multiple devices. At the time of unsync, we have a leak
    in these lower devices, because "synced" is treated as a
    boolean and the address will not be unsynced for anything after
    the first device/call.

    Treat "synced" as a count (same as refcount) and allow all
    unsync calls to work.

    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Vlad Yasevich
     
  • Pull ACPI and power management fixes from Rafael Wysocki:

    - Revert of a recent cpuidle change that caused Nehalem machines to
    hang on boot from Alex Shi.

    - USB power management fix addressing a crash in the port device
    object's release routine from Rafael J Wysocki.

    - Device PM QoS fix for a potential deadlock related to sysfs interface
    from Rafael J Wysocki.

    - Fix for a cpufreq crash when the /cpus Device Tree node is missing
    from Paolo Pisati.

    - Fix for a build issue on ia64 related to the Boot Graphics Resource
    Table (BGRT) from Tony Luck.

    - Two fixes for ACPI handles being set incorrectly for device objects
    that don't correspond to any ACPI namespace nodes in the I2C and SPI
    subsystems from Rafael J Wysocki.

    - Fix for compiler warnings related to CONFIG_PM_DEVFREQ being unset
    from Rajagopal Venkat.

    - Fix for a symbol definition typo in cpufreq_governor.h from Borislav
    Petkov.

    * tag 'pm+acpi-3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / BGRT: Don't let users configure BGRT on non X86 systems
    cpuidle / ACPI: recover percpu ACPI processor cstate
    ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()
    cpufreq: Correct header guards typo
    ACPI / SPI: Use parent's ACPI_HANDLE() in acpi_register_spi_devices()
    cpufreq: check OF node /cpus presence before dereferencing it
    PM / devfreq: Fix compiler warnings for CONFIG_PM_DEVFREQ unset
    PM / QoS: Avoid possible deadlock related to sysfs access
    USB / PM: Don't try to hide PM QoS flags from usb_port_device_release()

    Linus Torvalds