Skip to content
  1. Feb 23, 2017
    • James Smart's avatar
      scsi: lpfc: NVME Initiator: Base modifications · 895427bd
      James Smart authored
      
      
      NVME Initiator: Base modifications
      
      This patch adds base modifications for NVME initiator support.
      
      The base modifications consist of:
      - Formal split of SLI3 rings from SLI-4 WQs (sometimes referred to as
        rings as well) as implementation now widely varies between the two.
      - Addition of configuration modes:
         SCSI initiator only; NVME initiator only; NVME target only; and
         SCSI and NVME initiator.
         The configuration mode drives overall adapter configuration,
         offloads enabled, and resource splits.
         NVME support is only available on SLI-4 devices and newer fw.
      - Implements the following based on configuration mode:
        - Exchange resources are split by protocol; Obviously, if only
           1 mode, then no split occurs. Default is 50/50. module attribute
           allows tuning.
        - Pools and config parameters are separated per-protocol
        - Each protocol has it's own set of queues, but share interrupt
          vectors.
           SCSI:
             SLI3 devices have few queues and the original style of queue
               allocation remains.
             SLI4 devices piggy back on an "io-channel" concept that
               eventually needs to merge with scsi-mq/blk-mq support (it is
      	 underway).  For now, the paradigm continues as it existed
      	 prior. io channel allocates N msix and N WQs (N=4 default)
      	 and either round robins or uses cpu # modulo N for scheduling.
      	 A bunch of module parameters allow the configuration to be
      	 tuned.
           NVME (initiator):
             Allocates an msix per cpu (or whatever pci_alloc_irq_vectors
               gets)
             Allocates a WQ per cpu, and maps the WQs to msix on a WQ #
               modulo msix vector count basis.
             Module parameters exist to cap/control the config if desired.
        - Each protocol has its own buffer and dma pools.
      
      I apologize for the size of the patch.
      
      Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      
      ----
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      895427bd
    • James Smart's avatar
      scsi: lpfc: refactor debugfs queue dump routines · 1d9d5a98
      James Smart authored
      
      
      Create common wq, cq, eq, rq dump functions
      
      Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      1d9d5a98
    • James Smart's avatar
      scsi: lpfc: refactor debugfs queue prints · 07bcd98e
      James Smart authored
      
      
      Create common wq, cq, eq, rq print functions
      
      Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      07bcd98e
    • James Smart's avatar
      scsi: lpfc: minor code cleanups · 2ea259ee
      James Smart authored
      
      
      This contains code cleanups that were in the prior patch set.
      This allows better review of real changes later.
      
      minor code cleanups:
       fix indentation, punctuation, line length
       addition/reduction of whitespace
       remove unneeded parens, braces
       lpfc_debugfs_nodelist_data: print as u64 rather than byte by byte
       covert printk(KERN_ERR to pr_err
       small print string deltas
       use num_present_cpus() rather than count them
       comment updates
       rctl/type names moved to module variable, not on stack
      
      Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      2ea259ee
    • Christoph Hellwig's avatar
      scsi: lpfc: use pci_irq_alloc_vectors and pci_irq_free_vectors · 45ffac19
      Christoph Hellwig authored
      
      
      This avoids having to store the msix_entries array and simpliefies the
      shutdown and cleanup path a lot.
      
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      45ffac19
    • James Smart's avatar
      scsi: lpfc: Correct WQ creation for pagesize · 8ea73db4
      James Smart authored
      
      
      Correct WQ creation for pagesize
      
      The driver was calculating the adapter command pagesize indicator from
      the system pagesize. However, the buffers the driver allocates are only
      one size (SLI4_PAGE_SIZE), so no calculation was necessary.
      
      Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      8ea73db4
    • Matthew R. Ochs's avatar
      scsi: cxlflash: Enable PCI device ID for future IBM CXL Flash AFU · 94344520
      Matthew R. Ochs authored
      
      
      Add support for a future IBM Coherent Accelerator (CXL) flash AFU with
      an ID of 0x0624.
      
      Signed-off-by: default avatarMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
      Signed-off-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      94344520
    • Hannes Reinecke's avatar
      scsi: use 'scsi_device_from_queue()' for scsi_dh · 857de6e0
      Hannes Reinecke authored
      
      
      The device handler needs to check if a given queue belongs to a scsi
      device; only then does it make sense to attach a device handler.
      
      [mkp: dropped flags]
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      857de6e0
    • Subhash Jadavani's avatar
      scsi: ufs-qcom: remove redundant condition check · f22aaec9
      Subhash Jadavani authored
      Dan Carpenter <dan.carpenter@oracle.com> reported this:
      
      The patch 9c46b867
      
      : "scsi: ufs-qcom: dump additional testbus
      registers" from Feb 3, 2017, leads to the following static checker
      warning:
      
          drivers/scsi/ufs/ufs-qcom.c:1531 ufs_qcom_testbus_cfg_is_ok()
          warn: impossible condition
                      '(host->testbus.select_minor > 255) => (0-255 > 255)'
      
      drivers/scsi/ufs/ufs-qcom.c
        1517  static bool ufs_qcom_testbus_cfg_is_ok(struct ufs_qcom_host *host)
        1518  {
        1519          if (host->testbus.select_major >= TSTBUS_MAX) {
        1520               dev_err(host->hba->dev,
        1521                 "%s: UFS_CFG1[TEST_BUS_SEL} may not equal 0x%05X\n",
        1522                  __func__, host->testbus.select_major);
        1523                  return false;
        1524          }
        1525
        1526          /*
        1527           * Not performing check for each individual select_major
        1528           * mappings of select_minor, since there is no harm in
        1529           * configuring a non-existent select_minor
        1530           */
        1531          if (host->testbus.select_minor > 0xFF) {
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      It might make sense to keep this check.  I don't know.  But it's
      confusing that 0xFF is a magic number.  Better to make it a define.
      
        1532                  dev_err(host->hba->dev,
        1533                       "%s: 0x%05X is not a legal testbus option\n",
        1534                        __func__, host->testbus.select_minor);
        1535                  return false;
        1536          }
        1537
        1538          return true;
        1539  }
      ---
      
      As data type of "select_minor" is u8, above check is redundant. This
      change removes it.
      
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarSubhash Jadavani <subhashj@codeaurora.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      f22aaec9
    • Arnd Bergmann's avatar
      scsi: smartpqi: fix time handling · ed10858e
      Arnd Bergmann authored
      When we have turned off RTC support, the smartpqi driver fails to build:
      
      ERROR: "rtc_time64_to_tm" [drivers/scsi/smartpqi/smartpqi.ko] undefined!
      
      This is easily avoided by using the generic 'struct tm' based helper rather
      than the RTC specific one. While fixing this, I noticed that even though
      the driver uses time64_t for storing seconds, it gets them from the
      old 32-bit struct timeval. To address this, we can simplify the code
      by calling ktime_get_real_seconds() directly.
      
      Fixes: 6c223761
      
       ("smartpqi: initial commit of Microsemi smartpqi driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDon Brace <don.brace@microsemi.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      ed10858e
    • Raghava Aditya Renukunta's avatar
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Fix a potential spinlock double unlock bug · d844752e
      Raghava Aditya Renukunta authored
      The driver does not unlock the reply  queue spin lock after handling SMART
      adapter events. Instead it might attempt to unlock an already unlocked
      spin lock.
      
      Fixed by making sure the driver locks the spin lock before freeing it.
      
      Thank you dan for finding this issue out.
      
      Fixes: 6223a39f
      
       (scsi: aacraid: Added support for hotplug)
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      d844752e
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Save adapter fib log before an IOP reset · 09624645
      Raghava Aditya Renukunta authored
      
      
      Currently  the adapter firmware does not save outstanding I/O's log
      information  when an IOP reset is triggered. This is problematic when
      trying to root cause and debug issues.
      
      Fixed by adding sync command to trigger I/O log file save in the adapter
      firmware before issuing an IOP reset.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      09624645
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Reorder Adapter status check · c421530b
      Raghava Aditya Renukunta authored
      The driver currently checks the SELF_TEST_FAILED first and then
      KERNEL_PANIC next. Under error conditions(boot code failure) both
      SELF_TEST_FAILED and KERNEL_PANIC can be set at the same time.
      
      The driver has the capability to reset the controller on an KERNEL_PANIC,
      but not on SELF_TEST_FAILED.
      
      Fixed by first checking KERNEL_PANIC and then the others.
      
      Cc: stable@vger.kernel.org
      Fixes: e8b12f0f
      
       ([SCSI] aacraid: Add new code for PMC-Sierra's SRC base controller family)
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c421530b
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Skip IOP reset on controller panic(SMART Family) · 146aa178
      Raghava Aditya Renukunta authored
      
      
      When the SMART family of controller panic (KERNEL_PANIC) , they do not
      honor IOP resets. So better to skip it and directly perform a IWBR reset.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      146aa178
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Decrease adapter health check interval · 11da1b7c
      Raghava Aditya Renukunta authored
      
      
      Currently driver checks the health status of the adapter once every 24
      hours. When that happens the driver becomes dependent on the kernel to
      figure out if the  adapter is misbehaving. This might take some time
      (when the adapter is idle). The driver currently has support to
      restart/recover the controller when it fails, and decreasing the time
      interval will help.
      
      Fixed by decreasing check interval from 24 hours to 1 minute
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      11da1b7c
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Reload offlined drives after controller reset · a2d0321d
      Raghava Aditya Renukunta authored
      
      
      During the IOP reset stress testing, it was found that the drives can be
      marked offline when the adapter controller crashes and IO's are running
      in parallel. When the controller  does come back from the reset, the drive
      that is marked offline is not exposed.
      
      Fixed by removing and adding drives that are marked offline. In addition
      invoke a scsi host bus rescan to capture any additional configuration
      changes.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      a2d0321d
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Skip wellness sync on controller failure · 849ac6a5
      Raghava Aditya Renukunta authored
      aac_command_thread checks on the health of controller periodically,
      using aac_check_health. If the status is an error state KERNEL_PANIC or
      anything else. The driver will attempt to restart the adapter, but the
      response is not checked in aac_command_thread. This allows the periodic
      sync to go thru and lead the driver to a hung state.
      
      Fixed by terminating the periodic loop(intended per original design),
      if the controller is not restored to a healthy state.
      
      Cc: stable@vger.kernel.org
      Fixes: 3d77d840
      
       (scsi: aacraid: Added support for periodic wellness sync)
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      849ac6a5
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Fix sync fibs time out on controller reset · a7e2c642
      Raghava Aditya Renukunta authored
      After controller shutdown, all sync fibs time out due to not knowing
      about the switch to INT-x mode
      
      Fixed by replacing aac_src_access_devreg() to aac_set_intx_mode() call.
      
      Cc: stable@vger.kernel.org
      Fixes: 495c0217
      
       (aacraid: MSI-x support)
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      a7e2c642
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Added sysfs for driver version · 30202e06
      Raghava Aditya Renukunta authored
      
      
      Added support to retrieve driver version from a new sysfs variable called
      driver_version. It makes it easier for the user to figure out the driver
      version that is currently running.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      30202e06
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Fix memory leak in fib init path · 1bff5abc
      Raghava Aditya Renukunta authored
      aac_fib_map_free frees misaligned fib dma memory, additionally it does not
      free up the whole memory.
      
      Fixed by changing the  code to free up the correct and full memory
      allocation.
      
      Cc: stable@vger.kernel.org
      Fixes: e8b12f0f
      
       ([SCSI] aacraid: Add new code for PMC-Sierra's SRC based controller family)
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      1bff5abc
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Prevent E3 lockup when deleting units · a0c6143e
      Raghava Aditya Renukunta authored
      
      
      Arrconf management utility at times sends fibs with AdapterProcessed set
      in its fibs. This causes the controller to panic and lockup.
      
      Fixed by failing the commands that have AdapterProcessed set in its flag.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      a0c6143e
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Fix for excessive prints on EEH · 16ae9dd3
      Raghava Aditya Renukunta authored
      
      
      This issue showed up on a kdump debug(single CPU on powerkvm), when EEH
      errors rendered the adapter unusable. The driver correctly detected the
      issue and attempted to restart the controller, in doing so the driver
      attempted to read the status registers of the controller. This triggered
      additional eeh errors which continued for a good 6 minutes.
      
      Fixed by returning without waiting when EEH error is reported.
      
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      16ae9dd3
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Use correct channel number for raw srb · f3ef4a74
      Raghava Aditya Renukunta authored
      The channel being used for raw srb commands is retrieved from the utility
      sent fibs and is converted into physical channel id. The driver does not
      need to to do this since the management utility sends the correct channel
      id in the first place and in addition the driver sets inaccurate
      information in the cmd sent to the firmware and gets an invalid response.
      
      Fixed by using channel id from srb command.
      
      Cc: stable@vger.kernel.org
      Fixes: 423400e6
      
       ("scsi: aacraid: Include HBA direct interface")
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      f3ef4a74
    • Raghava Aditya Renukunta's avatar
      scsi: aacraid: Fix camel case · 1c68856e
      Raghava Aditya Renukunta authored
      
      
      Replaced camel case with snake case for init supported options.
      
      Suggested-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
      Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      1c68856e
    • Linus Torvalds's avatar
      Merge tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 37c85961
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big tty/serial driver patchset for 4.11-rc1.
      
        Not much here, but a lot of little fixes and individual serial driver
        updates all over the subsystem. Majority are for the sh-sci driver and
        platform (the arch-specific changes have acks from the maintainer).
      
        The start of the "serial bus" code is here as well, but nothing is
        converted to use it yet. That work is still ongoing, hopefully will
        start to show up across different subsystems for 4.12 (bluetooth is
        one major place that will be used.)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (109 commits)
        tty: pl011: Work around QDF2400 E44 stuck BUSY bit
        atmel_serial: Use the fractional divider when possible
        tty: Remove extra include in HVC console tty framework
        serial: exar: Enable M...
      37c85961
    • Linus Torvalds's avatar
      Merge tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · caa59428
      Linus Torvalds authored
      Pull staging/iio driver updates from Greg KH:
       "Here is the big staging and iio driver patchsets for 4.11-rc1.
      
        We almost broke even this time around, with only a few thousand lines
        added overall, as we removed the old and obsolete i4l code, but added
        some new drivers for the RPi platform, as well as adding some new IIO
        drivers.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (669 commits)
        Staging: vc04_services: Fix the "space prohibited" code style errors
        Staging: vc04_services: Fix the "wrong indent" code style errors
        staging: octeon: Use net_device_stats from struct net_device
        Staging: rtl8192u: ieee80211: ieee80211.h - style fix
        Staging: rtl8192u: ieee80211: ieee80211_tx.c - style fix
        Staging: rtl8192u: ieee80211: rtl819x_BAProc.c - style fix
        Staging: rtl8192u: ieee80211: ieee80211_module.c - style fix
        Staging: rtl8192u: ieee80211: rtl819x_TSProc.c - style fix
        Staging: rtl8192u: r8192U.h - style fix
        Staging: rtl8192u: r8192U_core.c - style fix
        Staging: rtl8192u: r819xU_cmdpkt.c - style fix
        staging: rtl8192u: blank lines aren't necessary before a close brace '}'
        staging: rtl8192u: Adding space after enum and struct definition
        staging: rtl8192u: Adding space after struct definition
        Staging: ks7010: Add required and preferred spaces around operators
        Staging: ks7010: ks*: Remove redundant blank lines
        Staging: ks7010: ks*: Add missing blank lines after declarations
        staging: visorbus, replace init_timer with setup_timer
        staging: vt6656: rxtx.c Removed multiple dereferencing
        staging: vt6656: Alignment match open parenthesis
        ...
      caa59428
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.11-rc1' of... · b2064617
      Linus Torvalds authored
      Merge tag 'driver-core-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the "small" driver core patches for 4.11-rc1.
      
        Not much here, some firmware documentation and self-test updates, a
        debugfs code formatting issue, and a new feature for call_usermodehelper
        to make it more robust on systems that want to lock it down in a more
        secure way.
      
        All of these have been linux-next for a while now with no reported
        issues"
      
      * tag 'driver-core-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kernfs: handle null pointers while printing node name and path
        Introduce STATIC_USERMODEHELPER to mediate call_usermodehelper()
        Make static usermode helper binaries constant
        kmod: make usermodehelper path a const string
        firmware: revamp firmware documentation
        selftests: firmware: send expected errors to /dev/null
        selftests: firmware: only modprobe if driver is missing
        platform: Print the resource range if device failed to claim
        kref: prefer atomic_inc_not_zero to atomic_add_unless
        debugfs: improve formatting of debugfs_real_fops()
      b2064617
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e30aee9e
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big char/misc driver patchset for 4.11-rc1.
      
        Lots of different driver subsystems updated here: rework for the
        hyperv subsystem to handle new platforms better, mei and w1 and extcon
        driver updates, as well as a number of other "minor" driver updates.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (169 commits)
        goldfish: Sanitize the broken interrupt handler
        x86/platform/goldfish: Prevent unconditional loading
        vmbus: replace modulus operation with subtraction
        vmbus: constify parameters where possible
        vmbus: expose hv_begin/end_read
        vmbus: remove conditional locking of vmbus_write
        vmbus: add direct isr callback mode
        vmbus: change to per channel tasklet
        vmbus: put related per-cpu variable together
        vmbus: callback is in softirq not workqueue
        binder: Add support for file-descriptor arrays
        binder: Add support for scatter-gather
        binder: Add extra size to allocator
        binder: Refactor binder_transact()
        binder: Support multiple /dev instances
        binder: Deal with contexts in debugfs
        binder: Support multiple context managers
        binder: Split flat_binder_object
        auxdisplay: ht16k33: remove private workqueue
        auxdisplay: ht16k33: rework input device initialization
        ...
      e30aee9e
    • Linus Torvalds's avatar
      Merge tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8ff546b8
      Linus Torvalds authored
      Pull USB/PHY updates from Greg KH:
       "Here is the big USB and PHY driver updates for 4.11-rc1.
      
        Nothing major, just the normal amount of churn in the usb gadget and
        dwc and xhci controllers, new device ids, new phy drivers, a new
        usb-serial driver, and a few other minor changes in different USB
        drivers.
      
        All have been in linux-next for a long time with no reported issues"
      
      * tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (265 commits)
        usb: cdc-wdm: remove logically dead code
        USB: serial: keyspan: drop header file
        USB: serial: io_edgeport: drop io-tables header file
        usb: musb: add code comment for clarification
        usb: misc: add USB251xB/xBi Hi-Speed Hub Controller Driver
        usb: misc: usbtest: remove redundant check on retval < 0
        USB: serial: upd78f0730: sort device ids
        USB: serial: upd78f0730: add ID for EVAL-ADXL362Z
        ohci-hub: fix typo in dbg_port macro
        usb: musb: dsps: Manage CPPI 4.1 DMA interrupt in DSPS
        usb: musb: tusb6010: Clean up tusb_omap_dma structure
        usb: musb: cppi_dma: Clean up cppi41_dma_controller structure
        usb: musb: cppi_dma: Clean up cppi structure
        usb: musb: cppi41: Detect aborted transfers in cppi41_dma_callback()
        usb: musb: dma: Add a DMA completion platform callback
        drivers: usb: usbip: Add missing break statement to switch
        usb: mtu3: remove redundant dev_err call in get_ssusb_rscs()
        USB: serial: mos7840: fix another NULL-deref at open
        USB: serial: console: clean up sanity checks
        USB: serial: console: fix uninitialised spinlock
        ...
      8ff546b8
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ca78d317
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       - Errata workarounds for Qualcomm's Falkor CPU
       - Qualcomm L2 Cache PMU driver
       - Qualcomm SMCCC firmware quirk
       - Support for DEBUG_VIRTUAL
       - CPU feature detection for userspace via MRS emulation
       - Preliminary work for the Statistical Profiling Extension
       - Misc cleanups and non-critical fixes
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (74 commits)
        arm64/kprobes: consistently handle MRS/MSR with XZR
        arm64: cpufeature: correctly handle MRS to XZR
        arm64: traps: correctly handle MRS/MSR with XZR
        arm64: ptrace: add XZR-safe regs accessors
        arm64: include asm/assembler.h in entry-ftrace.S
        arm64: fix warning about swapper_pg_dir overflow
        arm64: Work around Falkor erratum 1003
        arm64: head.S: Enable EL1 (host) access to SPE when entered at EL2
        arm64: arch_timer: document Hisilicon erratum 161010101
        arm64: use is_vmalloc_addr
      ...
      ca78d317
    • Linus Torvalds's avatar
      Merge tag 'arc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · a4ee7bac
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
      
       - Intc imporvements [Yuriy]
      
       - VDK platform updates [Alexey]
      
      * tag 'arc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant
        ARCv2: intc: Delete useless comments in Device Trees
        ARCv2: IDU-intc: Delete deprecated parameters in Device Trees
        ARCv2: IDU-intc: mask all common interrupts by default
        ARCv2: IDU-intc: Use build registers for getting numbers of interrupts
        ARCv2: intc: Set default priority for all core interrupts
        ARCv2: intc: Use runtime value of irq count for setting up intc
        ARCv2: intc: Rework the build time irq count information
        ARC: [intc-*]: confine NR_CPU_IRQS to intc code
        ARCv2: intc: Use ARC_REG_STATUS32 for addressing STATUS32 reg
        arc: vdk: Add support of UIO
        arc: vdk: Add support of MMC controller
        arc: vdk: Disable halt on reset
      a4ee7bac
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 38705613
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Highlights include:
      
         - Support for direct mapped LPC on POWER9, giving Linux direct access
           to devices that may be on there such as a UART.
      
         - Memory hotplug support for the Power9 Radix MMU.
      
         - Add new AUX vectors describing the processor's cache geometry, to
           be used by glibc.
      
         - The ability for a guest to ask the hypervisor to resize the guest's
           hash table, and in addition support for doing so automatically when
           memory is hotplugged into/out-of the guest. This allows the hash
           table to be sized based on the current memory usage of the guest,
           rather than the maximum possible memory usage.
      
         - Implementation of optprobes (kprobe optimisation) for powerpc.
      
        In addition there's the topic branch shared with the KVM tree, which
        includes support for guests to use the Radix MMU on Power9.
      
        Thanks to:
          Alistair Popple, Andrew Donnellan, Aneesh Kumar K.V, Anju T, Anton
          Blanchard, Benjamin Herrenschmidt, Chris Packham, Daniel Axtens,
          Daniel Borkmann, David Gibson, Finn Thain, Gautham R. Shenoy, Gavin
          Shan, Greg Kurz, Joel Stanley, John Allen, Madhavan Srinivasan,
          Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Nathan Fontenot,
          Naveen N. Rao, Nicholas Piggin, Paul Mackerras, Ravi Bangoria, Reza
          Arbab, Shailendra Singh, Vaibhav Jain, Wei Yongjun"
      
      * tag 'powerpc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (129 commits)
        powerpc/mm/radix: Skip ptesync in pte update helpers
        powerpc/mm/radix: Use ptep_get_and_clear_full when clearing pte for full mm
        powerpc/mm/radix: Update pte update sequence for pte clear case
        powerpc/mm: Update PROTFAULT handling in the page fault path
        powerpc/xmon: Fix data-breakpoint
        powerpc/mm: Fix build break with BOOK3S_64=n and MEMORY_HOTPLUG=y
        powerpc/mm: Fix build break when CMA=n && SPAPR_TCE_IOMMU=y
        powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n
        powerpc/pseries: Fix typo in parameter description
        powerpc/kprobes: Remove kprobe_exceptions_notify()
        kprobes: Introduce weak variant of kprobe_exceptions_notify()
        powerpc/ftrace: Fix confusing help text for DISABLE_MPROFILE_KERNEL
        powerpc/powernv: Fix opal_exit tracepoint opcode
        powerpc: Add a prototype for mcount() so it can be versioned
        powerpc: Drop GPL from of_node_to_nid() export to match other arches
        powerpc/kprobes: Optimize kprobe in kretprobe_trampoline()
        powerpc/kprobes: Implement Optprobes
        powerpc/kprobes: Fixes for kprobe_lookup_name() on BE
        powerpc: Add helper to check if offset is within relative branch range
        powerpc/bpf: Introduce __PPC_SH64()
        ...
      38705613
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ff47d8c0
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
      
       - New entropy generation for the pseudo random number generator.
      
       - Early boot printk output via sclp to help debug crashes on boot. This
         needs to be enabled with a kernel parameter.
      
       - Add proper no-execute support with a bit in the page table entry.
      
       - Bug fixes and cleanups.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (65 commits)
        s390/syscall: fix single stepped system calls
        s390/zcrypt: make ap_bus explicitly non-modular
        s390/zcrypt: Removed unneeded debug feature directory creation.
        s390: add missing "do {} while (0)" loop constructs to multiline macros
        s390/mm: add cond_resched call to kernel page table dumper
        s390: get rid of MACHINE_HAS_PFMF and MACHINE_HAS_HPAGE
        s390/mm: make memory_block_size_bytes available for !MEMORY_HOTPLUG
        s390: replace ACCESS_ONCE with READ_ONCE
        s390: Audit and remove any remaining unnecessary uses of module.h
        s390: mm: Audit and remove any unnecessary uses of module.h
        s390: kernel: Audit and remove any unnecessary uses of module.h
        s390/kdump: Use "LINUX" ELF note name instead of "CORE"
        s390: add no-execute support
        s390: report new vector facilities
        s390: use correct input data address for setup_randomness
        s390/sclp: get rid of common response code handling
        s390/sclp: don't add new lines to each printed string
        s390/sclp: make early sclp code readable
        s390/sclp: disable early sclp code as soon as the base sclp driver is active
        s390/sclp: move early printk code to drivers
        ...
      ff47d8c0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 3051bf36
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Support TX_RING in AF_PACKET TPACKET_V3 mode, from Sowmini
            Varadhan.
      
         2) Simplify classifier state on sk_buff in order to shrink it a bit.
            From Willem de Bruijn.
      
         3) Introduce SIPHASH and it's usage for secure sequence numbers and
            syncookies. From Jason A. Donenfeld.
      
         4) Reduce CPU usage for ICMP replies we are going to limit or
            suppress, from Jesper Dangaard Brouer.
      
         5) Introduce Shared Memory Communications socket layer, from Ursula
            Braun.
      
         6) Add RACK loss detection and allow it to actually trigger fast
            recovery instead of just assisting after other algorithms have
            triggered it. From Yuchung Cheng.
      
         7) Add xmit_more and BQL support to mvneta driver, from Simon Guinot.
      
         8) skb_cow_data avoidance in esp4 and esp6, from Steffen Klassert.
      
         9) Export MPLS packet stats via netlink, from Robert Shearman.
      
        10) Significantly improve inet port bind conflict handling, especially
            when an application is restarted and changes it's setting of
            reuseport. From Josef Bacik.
      
        11) Implement TX batching in vhost_net, from Jason Wang.
      
        12) Extend the dummy device so that VF (virtual function) features,
            such as configuration, can be more easily tested. From Phil
            Sutter.
      
        13) Avoid two atomic ops per page on x86 in bnx2x driver, from Eric
            Dumazet.
      
        14) Add new bpf MAP, implementing a longest prefix match trie. From
            Daniel Mack.
      
        15) Packet sample offloading support in mlxsw driver, from Yotam Gigi.
      
        16) Add new aquantia driver, from David VomLehn.
      
        17) Add bpf tracepoints, from Daniel Borkmann.
      
        18) Add support for port mirroring to b53 and bcm_sf2 drivers, from
            Florian Fainelli.
      
        19) Remove custom busy polling in many drivers, it is done in the core
            networking since 4.5 times. From Eric Dumazet.
      
        20) Support XDP adjust_head in virtio_net, from John Fastabend.
      
        21) Fix several major holes in neighbour entry confirmation, from
            Julian Anastasov.
      
        22) Add XDP support to bnxt_en driver, from Michael Chan.
      
        23) VXLAN offloads for enic driver, from Govindarajulu Varadarajan.
      
        24) Add IPVTAP driver (IP-VLAN based tap driver) from Sainath Grandhi.
      
        25) Support GRO in IPSEC protocols, from Steffen Klassert"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1764 commits)
        Revert "ath10k: Search SMBIOS for OEM board file extension"
        net: socket: fix recvmmsg not returning error from sock_error
        bnxt_en: use eth_hw_addr_random()
        bpf: fix unlocking of jited image when module ronx not set
        arch: add ARCH_HAS_SET_MEMORY config
        net: napi_watchdog() can use napi_schedule_irqoff()
        tcp: Revert "tcp: tcp_probe: use spin_lock_bh()"
        net/hsr: use eth_hw_addr_random()
        net: mvpp2: enable building on 64-bit platforms
        net: mvpp2: switch to build_skb() in the RX path
        net: mvpp2: simplify MVPP2_PRS_RI_* definitions
        net: mvpp2: fix indentation of MVPP2_EXT_GLOBAL_CTRL_DEFAULT
        net: mvpp2: remove unused register definitions
        net: mvpp2: simplify mvpp2_bm_bufs_add()
        net: mvpp2: drop useless fields in mvpp2_bm_pool and related code
        net: mvpp2: remove unused 'tx_skb' field of 'struct mvpp2_tx_queue'
        net: mvpp2: release reference to txq_cpu[] entry after unmapping
        net: mvpp2: handle too large value in mvpp2_rx_time_coal_set()
        net: mvpp2: handle too large value handling in mvpp2_rx_pkts_coal_set()
        net: mvpp2: remove useless arguments in mvpp2_rx_{pkts, time}_coal_set
        ...
      3051bf36
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1e74a2eb
      Linus Torvalds authored
      Pull gcc-plugins updates from Kees Cook:
       "This includes infrastructure updates and the structleak plugin, which
        performs forced initialization of certain structures to avoid possible
        information exposures to userspace.
      
        Summary:
      
         - infrastructure updates (gcc-common.h)
      
         - introduce structleak plugin for forced initialization of some
           structures"
      
      * tag 'gcc-plugins-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Add structleak for more stack initialization
        gcc-plugins: consolidate on PASS_INFO macro
        gcc-plugins: add PASS_INFO and build_const_char_string()
      1e74a2eb
  2. Feb 22, 2017