1. 20 Nov, 2013 1 commit
    • Nicholas Bellinger's avatar
      iscsi-target: Convert iscsi_session statistics to atomic_long_t · 04f3b31b
      Nicholas Bellinger authored
      This patch converts a handful of iscsi_session statistics to type
      atomic_long_t, instead of using iscsi_session->session_stats_lock
      when incrementing these values.
      
      More importantly, go ahead and drop the spinlock usage within
      iscsit_setup_scsi_cmd(), iscsit_check_dataout_hdr(),
      iscsit_send_datain(), and iscsit_build_rsp_pdu() fast-path code.
      
      (Squash in Roland's  target: Remove write-only stats fields and lock
      from struct se_node_acl)
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      04f3b31b
  2. 14 Nov, 2013 1 commit
  3. 13 Nov, 2013 4 commits
    • Nicholas Bellinger's avatar
      target: Fix delayed Task Aborted Status (TAS) handling bug · 29f4c090
      Nicholas Bellinger authored
      This patch fixes a bug in delayed Task Aborted Status (TAS) handling,
      where transport_send_task_abort() was not returning for the case
      when the se_tfo->write_pending() callback indicated that last fabric
      specific WRITE PDU had not yet been received.
      
      It also adds an explicit cmd->scsi_status = SAM_STAT_TASK_ABORTED
      assignment within transport_check_aborted_status() to avoid the case
      where se_tfo->queue_status() is called when the SAM_STAT_TASK_ABORTED
      assignment + ->queue_status() in transport_send_task_abort() does not
      occur once SCF_SENT_DELAYED_TAS has been set.
      
      Cc: <stable@vger.kernel.org> #3.2+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      29f4c090
    • Nicholas Bellinger's avatar
      iscsi-target: Reject unsupported multi PDU text command sequence · 122f8afc
      Nicholas Bellinger authored
      This patch adds a check to reject text commands with F_BIT=0 ||
      C_BIT=1, as multi PDU text command sequences are currently
      unsupported.
      
      This avoids the case where a text command received with F_BIT=0,
      was generating a text response with F_BIT=1 which is a protocol
      error according to RFC-3720 Section 10.11.1.
      Reported-by: default avatarArshad Hussain <arshad.hussain@calsoftinc.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      122f8afc
    • Nicholas Bellinger's avatar
      ib_isert: Avoid duplicate iscsit_increment_maxcmdsn call · 04d9cd12
      Nicholas Bellinger authored
      This patch avoids a duplicate iscsit_increment_maxcmdsn() call for
      ISER_IB_RDMA_WRITE within isert_map_rdma() + isert_reg_rdma_frwr(),
      which will already be occuring once during isert_put_datain() ->
      iscsit_build_rsp_pdu() operation.
      
      It also removes the local conn->stat_sn assignment + increment,
      and changes the third parameter to iscsit_build_rsp_pdu() to
      signal this should be done by iscsi_target_mode code.
      Tested-by: default avatarMoussa Ba <moussaba@micron.com>
      Cc: <stable@vger.kernel.org> # v3.10+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      04d9cd12
    • Nicholas Bellinger's avatar
      iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn · 5e8e6b4b
      Nicholas Bellinger authored
      This patch fixes a >= v3.10 regression bug with mutex_trylock() usage
      within iscsit_increment_maxcmdsn(), that was originally added to allow
      for a special case where ->cmdsn_mutex was already held from the
      iscsit_execute_cmd() exception path for ib_isert.
      
      When !mutex_trylock() was occuring under contention during normal RX/TX
      process context codepaths, the bug was manifesting itself as the following
      protocol error:
      
        Received CmdSN: 0x000fcbb7 is greater than MaxCmdSN: 0x000fcbb6, protocol error.
        Received CmdSN: 0x000fcbb8 is greater than MaxCmdSN: 0x000fcbb6, protocol error.
      
      This patch simply avoids the direct ib_isert callback in lio_queue_status()
      for the special iscsi_execute_cmd() exception cases, that allows the problematic
      mutex_trylock() usage in iscsit_increment_maxcmdsn() to go away.
      Reported-by: default avatarMoussa Ba <moussaba@micron.com>
      Tested-by: default avatarMoussa Ba <moussaba@micron.com>
      Cc: <stable@vger.kernel.org> # v3.10+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      5e8e6b4b
  4. 12 Nov, 2013 3 commits
  5. 08 Nov, 2013 1 commit
  6. 07 Nov, 2013 4 commits
  7. 06 Nov, 2013 1 commit
    • Nicholas Bellinger's avatar
      ib_isert: Add support for completion interrupt coalescing · 95b60f07
      Nicholas Bellinger authored
      This patch adds support for completion interrupt coalescing that
      allows only every ISERT_COMP_BATCH_COUNT (8) to set IB_SEND_SIGNALED,
      thus avoiding completion interrupts for every posted iser_tx_desc.
      
      The batch processing is done using a per isert_conn llist that once
      IB_SEND_SIGNALED has been set is saved to tx_desc->comp_llnode_batch,
      and completion processing of previously posted iser_tx_descs is done
      in a single shot from within isert_send_completion() code.
      
      Note this is only done for response PDUs from ISCSI_OP_SCSI_CMD, and
      all other control type of PDU responses will force an implicit batch
      drain to occur.
      
      Cc: Or Gerlitz <ogerlitz@mellanox.com>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Cc: Kent Overstreet <kmo@daterainc.com>
      Cc: Roland Dreier <roland@purestorage.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      95b60f07
  8. 24 Oct, 2013 3 commits
  9. 16 Oct, 2013 9 commits
  10. 03 Oct, 2013 1 commit
  11. 02 Oct, 2013 1 commit
    • Nicholas Bellinger's avatar
      tcm_fc: Convert to per-cpu command map pre-allocation of ft_cmd · 5f544cfa
      Nicholas Bellinger authored
      This patch converts tcm_fc to use transport_init_session_tags()
      pre-allocation logic for struct ft_cmd descriptors using per-cpu
      session tag pooling in order to effectively avoid memory allocation
      + release for each received I/O.
      
      It adds percpu_ida_alloc() in ft_recv_cmd() to obtain an tag and
      locate ft_cmd from se_sess->sess_cmd_map[], and percpu_ida_free()
      in ft_free_cmd() to release the tag based upon se_cmd->map_tag id.
      
      It also uses a TCM_FC_DEFAULT_TAGS value of 512, that puts the
      per se_sess->sess_cmd_map allocation at ~360K on 64-bit.
      
      v2 changes:
      
        - Handle possible tag < 0 failure with GFP_ATOMIC
      
      Cc: Mark Rustad <mark.d.rustad@intel.com>
      Cc: Robert Love <robert.w.love@intel.com>
      Cc: Kent Overstreet <kmo@daterainc.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@daterainc.com>
      5f544cfa
  12. 29 Sep, 2013 10 commits
    • Linus Torvalds's avatar
      Linux 3.12-rc3 · 15c03dd4
      Linus Torvalds authored
      15c03dd4
    • Linus Torvalds's avatar
      Merge tag 'usb-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 30ceb4ec
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of USB driver fixes for 3.12-rc3.
      
        These are all for host controller issues that have been reported, and
        there's a fix for an annoying error message that gets printed every
        time you remove a USB 3 device from the system that's been bugging me
        for a while"
      
      * tag 'usb-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: dwc3: add support for Merrifield
        USB: fsl/ehci: fix failure of checking PHY_CLK_VALID during reinitialization
        USB: Fix breakage in ffs_fs_mount()
        fsl/usb: Resolve PHY_CLK_VLD instability issue for ULPI phy
        usb/core/devio.c: Don't reject control message to endpoint with wrong direction bit
        usb: chipidea: USB_CHIPIDEA should depend on HAS_DMA
        usb: chipidea: udc: free pending TD at removal procedure
        usb: chipidea: imx: Add usb_phy_shutdown at probe's error path
        usb: chipidea: Fix memleak for ci->hw_bank.regmap when removal
        usb: chipidea: udc: fix the oops after rmmod gadget
        USB: fix PM config symbol in uhci-hcd, ehci-hcd, and xhci-hcd
        USB: OHCI: accept very late isochronous URBs
        USB: UHCI: accept very late isochronous URBs
        USB: iMX21: accept very late isochronous URBs
        usbcore: check usb device's state before sending a Set SEL control transfer
        xhci: Fix race between ep halt and URB cancellation
        usb: Fix xHCI host issues on remote wakeup.
        xhci: Ensure a command structure points to the correct trb on the command ring
        xhci: Fix oops happening after address device timeout
      30ceb4ec
    • Linus Torvalds's avatar
      Merge tag 'tty-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 26c019fc
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some serial at tty driver fixes for 3.12-rc3
      
        The serial driver fixes some kref leaks, documentation is moved to the
        proper places, and the tty and n_tty fixes resolve some reported
        regressions.  There is still one outstanding tty regression fix that
        isn't in here yet, as I want to test it out some more, it will be sent
        for 3.12-rc4 if it checks out"
      
      * tag 'tty-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: ar933x_uart: move devicetree binding documentation
        tty: Fix SIGTTOU not sent with tcflush()
        n_tty: Fix EOF push index when termios changes
        serial: pch_uart: remove unnecessary tty_port_tty_get
        serial: pch_uart: fix tty-kref leak in dma-rx path
        serial: pch_uart: fix tty-kref leak in rx-error path
        serial: tegra: fix tty-kref leak
      26c019fc
    • Linus Torvalds's avatar
      Merge tag 'staging-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 31795c40
      Linus Torvalds authored
      Pull staging fixes from Greg KH:
       "Here are some staging driver fixes, MAINTAINER updates, and a new
        device id.  All of these have been in the linux-next tree, and are
        pretty simple patches"
      
      * tag 'staging-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: Add new device ID
        staging: imx-drm: Fix probe failure
        staging: vt6656: [BUG] iwctl_siwencodeext return if device not open
        staging: vt6656: [BUG] main_usb.c oops on device_close move flag earlier.
        staging: vt6656: rxtx.c [BUG] s_vGetFreeContext dead lock on null apTD.
        Staging: rtl8192u: r819xU_cmdpkt: checking NULL value after doing dev_alloc_skb
        staging: usbip: Orphan usbip
        staging: r8188eu: Add files for new drive: Cocci spatch "noderef"
        staging: r8188eu: Cocci spatch "noderef"
        staging: octeon-usb: Cocci spatch "noderef"
        staging: r8188eu: Add files for new drive: Cocci spatch "noderef"
        MAINTAINERS: staging: dgnc and dgap drivers: add maintainer
        staging: lustre: Cocci spatch "noderef"
      31795c40
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.12-rc3' of... · 434ac47d
      Linus Torvalds authored
      Merge tag 'driver-core-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core / sysfs fixes from Greg KH:
       "Here are 2 fixes for 3.12-rc3.  One fixes a sysfs problem with
        mounting caused by 3.12-rc1, and the other is a bug reported by the
        chromeos developers with the driver core.
      
        Both have been in linux-next for a bit"
      
      * tag 'driver-core-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        driver core : Fix use after free of dev->parent in device_shutdown
        sysfs: Allow mounting without CONFIG_NET
      434ac47d
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · c23c2234
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some HyperV and MEI driver fixes for 3.12-rc3.  They resolve
        some issues that people have been reporting for them"
      
      * tag 'char-misc-3.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Drivers: hv: vmbus: Terminate vmbus version negotiation on timeout
        Drivers: hv: util: Correctly support ws2008R2 and earlier
        mei: cancel stall timers in mei_reset
        mei: bus: stop wait for read during cl state transition
        mei: make me client counters less error prone
      c23c2234
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cac66535
      Linus Torvalds authored
      Pull perf revert from Ingo Molnar:
       "This fixes the 'perf top' regression Markus Trippelsdorf reported"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "perf symbols: Demangle cloned functions"
      cac66535
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · b97b869a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too major, radeon still has some dpm changes for off by
        default.
      
        Radeon, intel, msm:
         - radeon: a few more dpm fixes (still off by default), uvd fixes
         - i915: runtime warn backtrace and regression fix
         - msm: iommu changes fallout"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (27 commits)
        drm/msm: use drm_gem_dumb_destroy helper
        drm/msm: deal with mach/iommu.h removal
        drm/msm: Remove iommu include from mdp4_kms.c
        drm/msm: Odd PTR_ERR usage
        drm/i915: Fix up usage of SHRINK_STOP
        drm/radeon: fix hdmi audio on DCE3.0/3.1 asics
        drm/i915: preserve pipe A quirk in i9xx_set_pipeconf
        drm/i915/tv: clear adjusted_mode.flags
        drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER
        drm/radeon/cik: fix overflow in vram fetch
        drm/radeon: add missing hdmi callbacks for rv6xx
        drm/i915: Use a temporary va_list for two-pass string handling
        drm/radeon/uvd: lower msg&fb buffer requirements on UVD3
        drm/radeon: disable tests/benchmarks if accel is disabled
        drm/radeon: don't set default clocks for SI when DPM is disabled
        drm/radeon/dpm/ci: filter clocks based on voltage/clk dep tables
        drm/radeon/dpm/si: filter clocks based on voltage/clk dep tables
        drm/radeon/dpm/ni: filter clocks based on voltage/clk dep tables
        drm/radeon/dpm/btc: filter clocks based on voltage/clk dep tables
        drm/radeon/dpm: fetch the max clk from voltage dep tables helper
        ...
      b97b869a
    • Ingo Molnar's avatar
      Revert "perf symbols: Demangle cloned functions" · 14951f22
      Ingo Molnar authored
      This reverts commit de95ab53.
      
      Markus Trippelsdorf reported that this commit broke 'perf top':
      
       > I just see a gray screen with no text at all. Sometimes the
       > following error messages are printed:
       >
       >  *** Error in `perf': invalid fastbin entry (free): 0x00000000029b18c0
       >  ***
       >  *** Error in `perf': malloc(): memory corruption (fast): 0x0000000000ee0b10 ***
      
      While this code is fixable, the commit itself fails on several levels:
      
       - it should have been a separate helper function
       - why the heck does it do strchr() twice
       - it casts a const char * over into char *
       - sloppy style
       - it's not even a regression fix!
      
      So lets revert it and re-try the patch in v3.13.
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      14951f22
    • Dave Airlie's avatar
      Merge branch 'msm-fixes-3.12-rc2' of git://people.freedesktop.org/~robclark/linux into drm-fixes · 66544179
      Dave Airlie authored
      A small fix + deal with fallout of iommu changes + use new
      drm_gem_dumb_destroy helper.
      
      * 'msm-fixes-3.12-rc2' of git://people.freedesktop.org/~robclark/linux:
        drm/msm: use drm_gem_dumb_destroy helper
        drm/msm: deal with mach/iommu.h removal
        drm/msm: Remove iommu include from mdp4_kms.c
        drm/msm: Odd PTR_ERR usage
      66544179
  13. 28 Sep, 2013 1 commit