Permalink
Commits on Apr 11, 2012
  1. firewire-sbp-target: Add to target Kconfig and Makefile

    bootc committed Feb 10, 2012
    This commit also adds an entry to the MAINTAINERS file.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  2. firewire-sbp-target: Add sbp_scsi_cmnd.{c,h}

    bootc committed Feb 10, 2012
    Miscellaneous functions for dealing with SCSI commands, status, sense
    data and data read/write. This is where the real grunt work of pushing
    data in and out of the FireWire bus happens.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  3. firewire-sbp-target: Add sbp_target_agent.{c,h}

    bootc committed Feb 10, 2012
    This implements the SBP-2 Command Block Agent, or Target Agent. This is
    what receives SCSI commands and forwards them to the target framework.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  4. firewire-sbp-target: Add sbp_login.{c,h}

    bootc committed Feb 10, 2012
    This file contains the implementation of the login, reconnect and logout
    management ORBs in SBP-2.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  5. firewire-sbp-target: Add sbp_management_agent.{c,h}

    bootc committed Feb 10, 2012
    This code implements the SBP-2 Management Agent. This is the first of
    two firewire address handlers that are used to communicate with the
    target. The Management Agent is used to handle login, reconnect and
    logout to a SCSI LUN as well as task management functions.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  6. firewire-sbp-target: Add sbp_fabric.{c,h}

    bootc committed Feb 15, 2012
    This serves as further glue between the target framework and SBP-2, in
    this case dealing with SCSI command submission and data in/out.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  7. firewire-sbp-target: Add sbp_configfs.c

    bootc committed Feb 10, 2012
    This is used to glue the target framework's configfs code to the target
    code, and what is used to create targets and link them to LUNs to
    export. The code to create the FireWire unit directory to advertise
    targets on the FireWire bus is also in here.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  8. firewire-sbp-target: Add sbp_base.h header

    bootc committed Feb 10, 2012
    This header contains defines and structures that are common to many of
    the modules of the target code. This includes SBP-2 protocol structures
    and constants as well as a few structs for setting up the target, LUN
    login information and session setup.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  9. firewire-sbp-target: Add Kconfig, Makefile and TODO

    bootc committed Feb 10, 2012
    The FireWire SBP-2 Target is a driver for using an IEEE-1394 connection
    as a SCSI transport. This module uses the SCSI Target framework to
    expose LUNs to other machines attached to a FireWire bus, in effect
    acting as a FireWire hard disk similar to FireWire Target Disk mode on
    many Apple computers.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
    Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
  10. firewire: Move fw_card kref functions into linux/firewire.h

    bootc committed Feb 1, 2012
    When writing a firewire driver that doesn't deal with struct fw_device
    objects (e.g. it only publishes FireWire units and doesn't subscribe to
    them), you likely need to keep referenced to struct fw_card objects so
    that you can send messages to other nodes. This patch moves
    fw_card_put(), fw_card_get() and fw_card_release() into the public
    include/linux/firewire.h header instead of drivers/firewire/core.h, and
    adds EXPORT_SYMBOL_GPL(fw_card_release).
    
    The firewire-sbp-target module requires these so it can keep a reference
    to the fw_card object in order that it can fetch ORBs to execute and
    read/write related data and status information.
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    Cc: Clemens Ladisch <clemens@ladisch.de>
  11. firewire: Add function to get speed from opaque struct fw_request

    bootc committed Feb 16, 2012
    Sometimes it's useful to know the FireWire speed of the request that has
    just come in to a fw_address_handler callback. As struct fw_request is
    opaque we can't peek inside to get the speed out of the struct fw_packet
    that's just inside. For example, the SBP-2 spec says:
    
    "The speed at which the block write request to the MANAGEMENT_AGENT
    register is received shall determine the speed used by the target for
    all subsequent requests to read the initiator’s configuration ROM, fetch
    ORB’s from initiator memory or store status at the initiator’s
    status_FIFO. Command block ORB’s separately specify the speed for
    requests addressed to the data buffer or page table."
    
    [ ANSI T10/1155D Revision 4 page 53/54 ]
    
    Signed-off-by: Chris Boot <bootc@bootc.net>
    Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    Cc: Clemens Ladisch <clemens@ladisch.de>
Commits on Apr 8, 2012
  1. tcm_vhost: Convert to use mainline virtio_scsi.h

    nablio3000 committed Apr 8, 2012
    This patch converts tcm_vhost in lio-core.git to use mainline
    virtio_scsi.h defines from v3.4-rc2.  This includes:
    
    *) Rename virtio_scsi_cmd_header -> virtio_scsi_cmd_req
    *) Rename virtio_scsi_footer -> virtio_scsi_cmd_resp
    *) Convert vhost_scsi_handle_vq() use scsilun_to_int() from v_req->lun[8]
    
    So for this has been compile tested only, but the changes look
    reasonably straight-forward.  Please have a look Stefan & Co..
    
    Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Cc: Cong Meng <mengcong@cn.ibm.com>
    Cc: Zhi Yong Wu <wuzhy@cn.ibm.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  2. qla2xxx: Address minor v3.4-rc build breakage

    nablio3000 committed Apr 8, 2012
    Update lio-core.git qla2xxx LLD code to address some minor build
    breakages from the v3.4-rc2 merge to follow 8.03.07.13-k code that
    had been fixed in target-pending.git/for-next-merge.
    
    This includes the qla2x00_gid_list_size() conversion and update the
    scsi_cmnd reference within qla2xxx_abort_fcport_cmds().
    
    Cc: Arun Easi <arun.easi@qlogic.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  3. target/usb-gadget: Drop original remove.h for v3.4-rc

    nablio3000 committed Apr 8, 2012
    This patch removes the legacy usage of remove.h added by Sebastian
    originally to lio-core.git ahead of the following changes for v3.4-rc
    to export the necessary usb definitions:
    
    commit 348748b
    Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Date:   Wed Jan 11 12:45:56 2012 +0100
    
        usb/uas: move UAS structs / defines into a header file
    
    and:
    
    commit 7ac4704
    Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Date:   Sat Feb 25 18:28:09 2012 +0100
    
        usb/storage: a couple defines from drivers/usb/storage/transport.h to include/linux/usb/storage.h
    
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  4. Merge tag 'v3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git…

    nablio3000 committed Apr 8, 2012
    …/torvalds/linux
    
    Merge mainline v3.4-rc2 into lio-core.git and fix associated conflicts
    from local commits.
    
    Also, this patch drops the original virtio-scsi.c driver in favor of
    what has been merged into mainline code.
    
    Conflicts:
    	drivers/infiniband/ulp/srpt/ib_srpt.c
    	drivers/scsi/Kconfig
    	drivers/scsi/Makefile
    	drivers/scsi/qla2xxx/qla_dbg.c
    	drivers/scsi/qla2xxx/qla_def.h
    	drivers/scsi/qla2xxx/qla_gbl.h
    	drivers/scsi/qla2xxx/qla_init.c
    	drivers/scsi/qla2xxx/qla_isr.c
    	drivers/scsi/qla2xxx/qla_os.c
    	drivers/scsi/virtio_scsi.c
    	drivers/target/iscsi/iscsi_target.c
    	drivers/target/iscsi/iscsi_target_util.c
    	drivers/target/loopback/tcm_loop.c
    	drivers/target/target_core_cdb.c
    	drivers/target/target_core_iblock.c
    	drivers/target/target_core_pr.c
    	drivers/target/target_core_tmr.c
    	drivers/target/target_core_tpg.c
    	drivers/target/target_core_transport.c
    	drivers/target/tcm_fc/tcm_fc.h
    	drivers/target/tcm_fc/tfc_cmd.c
    	include/linux/virtio_ids.h
    	include/linux/virtio_scsi.h
    	include/target/target_core_base.h
    	include/target/target_core_fabric.h
  5. Linux 3.4-rc2

    torvalds committed Apr 8, 2012
Commits on Apr 7, 2012
  1. Merge tag 'regmap-3.4-fixes' of git://git.kernel.org/pub/scm/linux/ke…

    torvalds committed Apr 7, 2012
    …rnel/git/broonie/regmap
    
    Pull two more small regmap fixes from Mark Brown:
     - Now we have users for it that aren't running Android it turns out
       that regcache_sync_region() is much more useful to drivers if it's
       exported for use by modules.  Who knew?
     - Make sure we don't divide by zero when doing debugfs dumps of
       rbtrees, not visible up until now because everything was providing at
       least some cache on startup.
    
    * tag 'regmap-3.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
      regmap: prevent division by zero in rbtree_show
      regmap: Export regcache_sync_region()
  2. Merge branch 'kvm-updates/3.4' of git://git.kernel.org/pub/scm/virt/k…

    torvalds committed Apr 7, 2012
    …vm/kvm
    
    Pull a few KVM fixes from Avi Kivity:
     "A bunch of powerpc KVM fixes, a guest and a host RCU fix (unrelated),
      and a small build fix."
    
    * 'kvm-updates/3.4' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: Resolve RCU vs. async page fault problem
      KVM: VMX: vmx_set_cr0 expects kvm->srcu locked
      KVM: PMU: Fix integer constant is too large warning in kvm_pmu_set_msr()
      KVM: PPC: Book3S: PR: Fix preemption
      KVM: PPC: Save/Restore CR over vcpu_run
      KVM: PPC: Book3S HV: Save and restore CR in __kvmppc_vcore_entry
      KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears exist
      KVM: PPC: Book3S: Compile fix for ppc32 in HIOR access code
  3. Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh

    torvalds committed Apr 7, 2012
    Pull SuperH fixes from Paul Mundt.
    
    * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
      sh: fix clock-sh7757 for the latest sh_mobile_sdhi driver
      serial: sh-sci: use serial_port_in/out vs sci_in/out.
      sh: vsyscall: Fix up .eh_frame generation.
      sh: dma: Fix up device attribute mismatch from sysdev fallout.
      sh: dwarf unwinder depends on SHcompact.
      sh: fix up fallout from system.h disintegration.
  4. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Apr 7, 2012
    …/git/jmorris/linux-security
    
    Pull security layer fixlet from James Morris.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      sysctl: fix write access to dmesg_restrict/kptr_restrict
  5. Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/g…

    torvalds committed Apr 7, 2012
    …it/lenb/linux
    
    Pull ACPI & Power Management patches from Len Brown:
     "Two fixes for cpuidle merge-window changes, plus a URL fix in
      MAINTAINERS"
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
      MAINTAINERS: Update git url for ACPI
      cpuidle: Fix panic in CPU off-lining with no idle driver
      ACPI processor: Use safe_halt() rather than halt() in acpi_idle_play_dead()
  6. Merge branch '3.4-rc-fixes' of git://git.kernel.org/pub/scm/linux/ker…

    torvalds committed Apr 7, 2012
    …nel/git/nab/target-pending
    
    Pull target fixes from Nicholas Bellinger:
     "Pull two tcm_fc fabric related fixes for -rc2:
    
      Note that both have been CC'ed to stable, and patch #1 is the
      important one that addresses a memory corruption bug related to FC
      exchange timeouts + command abort.
    
      Thanks again to MDR for tracking down this issue!"
    
    * '3.4-rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
      tcm_fc: Do not free tpg structure during wq allocation failure
      tcm_fc: Add abort flag for gracefully handling exchange timeout
  7. target/usb-gadget: Re-enable support for scatterlist I/O

    nablio3000 committed Apr 7, 2012
    This patch removes a handful of stubs originally added by Sebastian in
    order to allow target/usb-gadget work in lio-core.git with contig buffers
    ahead of the upstream include/linux/usb/gadget.h changes to add
    scatterlists into struct usb_request here:
    
    commit 898c608
    Author: Felipe Balbi <balbi@ti.com>
    Date:   Tue Nov 22 11:11:50 2011 +0200
    
        usb: gadget: introduce support for sg lists
    
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  8. tcm_fc: Remove unused variable in ft_recv_seq

    nablio3000 committed Apr 7, 2012
    Fix up the following compile warning:
    
    drivers/target/tcm_fc/tfc_cmd.c: In function ‘ft_recv_seq’:
    drivers/target/tcm_fc/tfc_cmd.c:250: warning: unused variable ‘ep’
    
    that was recently introduced with:
    
    commit dabf7fe
    Author: Mark Rustad <mark.d.rustad@intel.com>
    Date:   Tue Apr 3 10:24:46 2012 -0700
    
        tcm_fc: Add unlikely for timeout handling
    
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  9. tcm_fc: Do not free tpg structure during wq allocation failure

    Mark Rustad authored and nablio3000 committed Apr 3, 2012
    Avoid freeing a registered tpg structure if an alloc_workqueue call
    fails.  This fixes a bug where the failure was leaking memory associated
    with se_portal_group setup during the original core_tpg_register() call.
    
    Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
    Acked-by: Kiran Patil <Kiran.patil@intel.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  10. tcm_fc: Add abort flag for gracefully handling exchange timeout

    Mark Rustad authored and nablio3000 committed Apr 3, 2012
    Add abort flag and use it to terminate processing when an exchange
    is timed out or is reset. The abort flag is used in place of the
    transport_generic_free_cmd function call in the reset and timeout
    cases, because calling that function in that context would free
    memory that was in use. The aborted flag allows the lifetime to
    be managed in a more normal way, while truncating the processing.
    
    This change eliminates a source of memory corruption which
    manifested in a variety of ugly ways.
    
    (nab: Drop unused struct fc_exch *ep in ft_recv_seq)
    
    Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
    Acked-by: Kiran Patil <Kiran.patil@intel.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  11. MAINTAINERS: Update git url for ACPI

    Igor Murzov authored and lenb committed Mar 30, 2012
    Signed-off-by: Igor Murzov <e-mail@date.by>
    Signed-off-by: Len Brown <len.brown@intel.com>
  12. Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    torvalds committed Apr 7, 2012
    …t/cmetcalf/linux-tile
    
    Pull arch/tile bug fixes from Chris Metcalf:
     "This includes Paul Gortmaker's change to fix the <asm/system.h>
      disintegration issues on tile, a fix to unbreak the tilepro ethernet
      driver, and a backlog of bugfix-only changes from internal Tilera
      development over the last few months.
    
      They have all been to LKML and on linux-next for the last few days.
      The EDAC change to MAINTAINERS is an oddity but discussion on the
      linux-edac list suggested I ask you to pull that change through my
      tree since they don't have a tree to pull edac changes from at the
      moment."
    
    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (39 commits)
      drivers/net/ethernet/tile: fix netdev_alloc_skb() bombing
      MAINTAINERS: update EDAC information
      tilepro ethernet driver: fix a few minor issues
      tile-srom.c driver: minor code cleanup
      edac: say "TILEGx" not "TILEPro" for the tilegx edac driver
      arch/tile: avoid accidentally unmasking NMI-type interrupt accidentally
      arch/tile: remove bogus performance optimization
      arch/tile: return SIGBUS for addresses that are unaligned AND invalid
      arch/tile: fix finv_buffer_remote() for tilegx
      arch/tile: use atomic exchange in arch_write_unlock()
      arch/tile: stop mentioning the "kvm" subdirectory
      arch/tile: export the page_home() function.
      arch/tile: fix pointer cast in cacheflush.c
      arch/tile: fix single-stepping over swint1 instructions on tilegx
      arch/tile: implement panic_smp_self_stop()
      arch/tile: add "nop" after "nap" to help GX idle power draw
      arch/tile: use proper memparse() for "maxmem" options
      arch/tile: fix up locking in pgtable.c slightly
      arch/tile: don't leak kernel memory when we unload modules
      arch/tile: fix bug in delay_backoff()
      ...
  13. Merge tag 'stable/for-linus-3.4-rc1-tag' of git://git.kernel.org/pub/…

    torvalds committed Apr 7, 2012
    …scm/linux/kernel/git/konrad/xen
    
    Pull xen fixes from Konrad Rzeszutek Wilk:
     "Two fixes for regressions:
       * one is a workaround that will be removed in v3.5 with proper fix in
         the tip/x86 tree,
       * the other is to fix drivers to load on PV (a previous patch made
         them only load in PVonHVM mode).
    
      The rest are just minor fixes in the various drivers and some cleanup
      in the core code."
    
    * tag 'stable/for-linus-3.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
      xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success
      xen/pciback: fix XEN_PCI_OP_enable_msix result
      xen/smp: Remove unnecessary call to smp_processor_id()
      xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'
      xen: only check xen_platform_pci_unplug if hvm
  14. Merge tag 'mmc-fixes-for-3.4-rc2' of git://git.kernel.org/pub/scm/lin…

    torvalds committed Apr 7, 2012
    …ux/kernel/git/cjb/mmc
    
    Pull MMC fixes from Chris Ball:
     - Disable use of MSI in sdhci-pci, which caused multiple chipsets to
       stop working in 3.4-rc1.  I'll wait to turn this on again until we
       have a chipset whitelist for it.
     - Fix a libertas SDIO powered-resume regression introduced in 3.3;
       thanks to Neil Brown and Rafael Wysocki for this fix.
     - Fix module reloading on omap_hsmmc.
     - Stop trusting the spec/card's specified maximum data timeout length,
       and use three seconds instead.  Previously we used 300ms.
    
    Also cleanups and fixes for s3c, atmel, sh_mmcif and omap_hsmmc.
    
    * tag 'mmc-fixes-for-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (28 commits)
      mmc: use really long write timeout to deal with crappy cards
      mmc: sdhci-dove: Fix compile error by including module.h
      mmc: Prevent 1.8V switch for SD hosts that don't support UHS modes.
      Revert "mmc: sdhci-pci: Add MSI support"
      Revert "mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers"
      mmc: core: fix power class selection
      mmc: omap_hsmmc: fix module re-insertion
      mmc: omap_hsmmc: convert to module_platform_driver
      mmc: omap_hsmmc: make it behave well as a module
      mmc: omap_hsmmc: trivial cleanups
      mmc: omap_hsmmc: context save after enabling runtime pm
      mmc: omap_hsmmc: use runtime put sync in probe error patch
      mmc: sdio: Use empty system suspend/resume callbacks at the bus level
      mmc: bus: print bus speed mode of UHS-I card
      mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers
      mmc: sh_mmcif: Simplify calculation of mmc->f_min
      mmc: sh_mmcif: mmc->f_max should be half of the bus clock
      mmc: sh_mmcif: double clock speed
      mmc: block: Remove use of mmc_blk_set_blksize
      mmc: atmel-mci: add support for odd clock dividers
      ...
Commits on Apr 6, 2012
  1. Make the "word-at-a-time" helper functions more commonly usable

    torvalds committed Apr 6, 2012
    I have a new optimized x86 "strncpy_from_user()" that will use these
    same helper functions for all the same reasons the name lookup code uses
    them.  This is preparation for that.
    
    This moves them into an architecture-specific header file.  It's
    architecture-specific for two reasons:
    
     - some of the functions are likely to want architecture-specific
       implementations.  Even if the current code happens to be "generic" in
       the sense that it should work on any little-endian machine, it's
       likely that the "multiply by a big constant and shift" implementation
       is less than optimal for an architecture that has a guaranteed fast
       bit count instruction, for example.
    
     - I expect that if architectures like sparc want to start playing
       around with this, we'll need to abstract out a few more details (in
       particular the actual unaligned accesses).  So we're likely to have
       more architecture-specific stuff if non-x86 architectures start using
       this.
    
       (and if it turns out that non-x86 architectures don't start using
       this, then having it in an architecture-specific header is still the
       right thing to do, of course)
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  2. cpuidle: Fix panic in CPU off-lining with no idle driver

    Toshi Kani authored and lenb committed Apr 1, 2012
    Fix a NULL pointer dereference panic in cpuidle_play_dead() during
    CPU off-lining when no cpuidle driver is registered.  A cpuidle
    driver may be registered at boot-time based on CPU type.  This patch
    allows an off-lined CPU to enter HLT-based idle in this condition.
    
    Signed-off-by: Toshi Kani <toshi.kani@hp.com>
    Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>
    Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Tested-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
  3. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    torvalds committed Apr 6, 2012
    Pull networking updates from David Miller:
    
     1) Fix inaccuracies in network driver interface documentation, from Ben
        Hutchings.
    
     2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.
    
     3) Compile warning, locking, and refcounting fixes in netfilter's
        xt_CT, from Pablo Neira Ayuso.
    
     4) phonet sendmsg needs to validate user length just like any other
        datagram protocol, fix from Sasha Levin.
    
     5) Ipv6 multicast code uses wrong loop index, from RongQing Li.
    
     6) Link handling and firmware fixes in bnx2x driver from Yaniv Rosner
        and Yuval Mintz.
    
     7) mlx4 erroneously allocates 4 pages at a time, regardless of page
        size, fix from Thadeu Lima de Souza Cascardo.
    
     8) SCTP socket option wasn't extended in a backwards compatible way,
        fix from Thomas Graf.
    
     9) Add missing address change event emissions to bonding, from Shlomo
        Pongratz.
    
    10) /proc/net/dev regressed because it uses a private offset to track
        where we are in the hash table, but this doesn't track the offset
        pullback that the seq_file code does resulting in some entries being
        missed in large dumps.
    
        Fix from Eric Dumazet.
    
    11) do_tcp_sendpage() unloads the send queue way too fast, because it
        invokes tcp_push() when it shouldn't.  Let the natural sequence
        generated by the splice paths, and the assosciated MSG_MORE
        settings, guide the tcp_push() calls.
    
        Otherwise what goes out of TCP is spaghetti and doesn't batch
        effectively into GSO/TSO clusters.
    
        From Eric Dumazet.
    
    12) Once we put a SKB into either the netlink receiver's queue or a
        socket error queue, it can be consumed and freed up, therefore we
        cannot touch it after queueing it like that.
    
        Fixes from Eric Dumazet.
    
    13) PPP has this annoying behavior in that for every transmit call it
        immediately stops the TX queue, then calls down into the next layer
        to transmit the PPP frame.
    
        But if that next layer can take it immediately, it just un-stops the
        TX queue right before returning from the transmit method.
    
        Besides being useless work, it makes several facilities unusable, in
        particular things like the equalizers.  Well behaved devices should
        only stop the TX queue when they really are full, and in PPP's case
        when it gets backlogged to the downstream device.
    
        David Woodhouse therefore fixed PPP to not stop the TX queue until
        it's downstream can't take data any more.
    
    14) IFF_UNICAST_FLT got accidently lost in some recent stmmac driver
        changes, re-add.  From Marc Kleine-Budde.
    
    15) Fix link flaps in ixgbe, from Eric W. Multanen.
    
    16) Descriptor writeback fixes in e1000e from Matthew Vick.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
      net: fix a race in sock_queue_err_skb()
      netlink: fix races after skb queueing
      doc, net: Update ndo_start_xmit return type and values
      doc, net: Remove instruction to set net_device::trans_start
      doc, net: Update netdev operation names
      doc, net: Update documentation of synchronisation for TX multiqueue
      doc, net: Remove obsolete reference to dev->poll
      ethtool: Remove exception to the requirement of holding RTNL lock
      MAINTAINERS: update for Marvell Ethernet drivers
      bonding: properly unset current_arp_slave on slave link up
      phonet: Check input from user before allocating
      tcp: tcp_sendpages() should call tcp_push() once
      ipv6: fix array index in ip6_mc_add_src()
      mlx4: allocate just enough pages instead of always 4 pages
      stmmac: re-add IFF_UNICAST_FLT for dwmac1000
      bnx2x: Clear MDC/MDIO warning message
      bnx2x: Fix BCM57711+BCM84823 link issue
      bnx2x: Clear BCM84833 LED after fan failure
      bnx2x: Fix BCM84833 PHY FW version presentation
      bnx2x: Fix link issue for BCM8727 boards.
      ...
  4. xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success

    jbeulich authored and Konrad Rzeszutek Wilk committed Apr 2, 2012
    The original XenoLinux code has always had things this way, and for
    compatibility reasons (in particular with a subsequent pciback
    adjustment) upstream Linux should behave the same way (allowing for two
    distinct error indications to be returned by the backend).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>