Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Aug 2014 03:10:32 +0000 (20:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Aug 2014 03:10:32 +0000 (20:10 -0700)
Pull SCSI updates from James Bottomley:
 "This patch set consists of the usual driver updates (ufs, storvsc,
  pm8001 hpsa).  It also has removal of the user space target driver
  code (everyone is using LIO now), a partial PCI MSI-X update, more
  multi-queue updates, conversion to 64 bit LUNs (so we could
  theoretically cope with any LUN returned by a device) and placeholder
  support for the ZBC device type (Shingle drives), plus an assortment
  of minor updates and bug fixes"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (143 commits)
  scsi: do not issue SCSI RSOC command to Promise Vtrak E610f
  vmw_pvscsi: Use pci_enable_msix_exact() instead of pci_enable_msix()
  pm8001: Fix invalid return when request_irq() failed
  lpfc: Remove superfluous call to pci_disable_msix()
  isci: Use pci_enable_msix_exact() instead of pci_enable_msix()
  bfa: Use pci_enable_msix_exact() instead of pci_enable_msix()
  bfa: Cleanup bfad_setup_intr() function
  bfa: Do not call pci_enable_msix() after it failed once
  fnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
  scsi: use short driver name for per-driver cmd slab caches
  scsi_debug: support scsi-mq, queues and locks
  Drivers: add blist flags
  scsi: ufs: fix endianness sparse warnings
  scsi: ufs: make undeclared functions static
  bnx2i: Update driver version to 2.7.10.1
  pm8001: fix a memory leak in nvmd_resp
  pm8001: fix update_flash
  pm8001: fix a memory leak in flash_update
  pm8001: Cleaning up uninitialized variables
  pm8001: Fix to remove null pointer checks that could never happen
  ...

1  2 
MAINTAINERS
drivers/scsi/cxgbi/libcxgbi.c
drivers/scsi/cxgbi/libcxgbi.h
drivers/staging/rts5208/rtsx.c
drivers/usb/storage/Kconfig

diff --combined MAINTAINERS
@@@ -70,8 -70,6 +70,8 @@@ Descriptions of section entries
  
        P: Person (obsolete)
        M: Mail patches to: FullName <address@domain>
 +      R: Designated reviewer: FullName <address@domain>
 +         These reviewers should be CCed on patches.
        L: Mailing list that is relevant to this area
        W: Web-page with status/info
        Q: Patchwork web based patch tracking system site
@@@ -150,14 -148,6 +150,14 @@@ L:       linux-scsi@vger.kernel.or
  S:    Maintained
  F:    drivers/scsi/53c700*
  
 +6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
 +M:    Alexander Aring <alex.aring@gmail.com>
 +L:    linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
 +L:    linux-bluetooth@vger.kernel.org
 +S:    Maintained
 +F:    net/6lowpan/
 +F:    include/net/6lowpan.h
 +
  6PACK NETWORK DRIVER FOR AX.25
  M:    Andreas Koensgen <ajk@comnets.uni-bremen.de>
  L:    linux-hams@vger.kernel.org
@@@ -524,16 -514,6 +524,16 @@@ S:       Supporte
  F:    fs/aio.c
  F:    include/linux/*aio*.h
  
 +AIRSPY MEDIA DRIVER
 +M:    Antti Palosaari <crope@iki.fi>
 +L:    linux-media@vger.kernel.org
 +W:    http://linuxtv.org/
 +W:    http://palosaari.fi/linux/
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +T:    git git://linuxtv.org/anttip/media_tree.git
 +S:    Maintained
 +F:    drivers/media/usb/airspy/
 +
  ALCATEL SPEEDTOUCH USB DRIVER
  M:    Duncan Sands <duncan.sands@free.fr>
  L:    linux-usb@vger.kernel.org
@@@ -1814,13 -1794,6 +1814,13 @@@ W:    http://bcache.evilpiepirate.or
  S:    Maintained:
  F:    drivers/md/bcache/
  
 +BECEEM BCS200/BCS220-3/BCSM250 WIMAX SUPPORT
 +M: Kevin McKinney <klmckinney1@gmail.com>
 +M: Matthias Beyer <mail@beyermatthias.de>
 +L: devel@driverdev.osuosl.org
 +S: Maintained
 +F: drivers/staging/bcm*
 +
  BEFS FILE SYSTEM
  S:    Orphan
  F:    Documentation/filesystems/befs.txt
@@@ -1939,13 -1912,6 +1939,13 @@@ S:    Supporte
  F:    drivers/net/bonding/
  F:    include/uapi/linux/if_bonding.h
  
 +BPF (Safe dynamic programs and tools)
 +M:    Alexei Starovoitov <ast@kernel.org>
 +L:    netdev@vger.kernel.org
 +L:    linux-kernel@vger.kernel.org
 +S:    Supported
 +F:    kernel/bpf/
 +
  BROADCOM B44 10/100 ETHERNET DRIVER
  M:    Gary Zambrano <zambrano@broadcom.com>
  L:    netdev@vger.kernel.org
@@@ -1959,8 -1925,7 +1959,8 @@@ S:      Supporte
  F:    drivers/net/ethernet/broadcom/genet/
  
  BROADCOM BNX2 GIGABIT ETHERNET DRIVER
 -M:    Michael Chan <mchan@broadcom.com>
 +M:    Sony Chacko <sony.chacko@qlogic.com>
 +M:    Dept-HSGLinuxNICDev@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2.*
@@@ -2005,7 -1970,7 +2005,7 @@@ F:      arch/arm/boot/dts/bcm5301x.dts
  F:    arch/arm/boot/dts/bcm470*
  
  BROADCOM TG3 GIGABIT ETHERNET DRIVER
 -M:    Nithin Nayak Sujir <nsujir@broadcom.com>
 +M:    Prashant Sreedharan <prashant@broadcom.com>
  M:    Michael Chan <mchan@broadcom.com>
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -2022,13 -1987,13 +2022,13 @@@ S:   Supporte
  F:    drivers/net/wireless/brcm80211/
  
  BROADCOM BNX2FC 10 GIGABIT FCOE DRIVER
- M:    Eddie Wai <eddie.wai@broadcom.com>
+ M:    QLogic-Storage-Upstream@qlogic.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/bnx2fc/
  
  BROADCOM BNX2I 1/10 GIGABIT iSCSI DRIVER
- M:    Eddie Wai <eddie.wai@broadcom.com>
+ M:    QLogic-Storage-Upstream@qlogic.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/bnx2i/
@@@ -2892,7 -2857,6 +2892,7 @@@ F:      drivers/staging/dgnc
  DIGI EPCA PCI PRODUCTS
  M:    Lidza Louina <lidza.louina@gmail.com>
  M:    Mark Hounschell <markh@compro.net>
 +M:    Daeseok Youn <daeseok.youn@gmail.com>
  L:    driverdev-devel@linuxdriverproject.org
  S:    Maintained
  F:    drivers/staging/dgap/
@@@ -2949,8 -2913,8 +2949,8 @@@ S:      Maintaine
  L:    linux-media@vger.kernel.org
  L:    dri-devel@lists.freedesktop.org
  L:    linaro-mm-sig@lists.linaro.org
 -F:    drivers/base/dma-buf*
 -F:    include/linux/dma-buf*
 +F:    drivers/dma-buf/
 +F:    include/linux/dma-buf* include/linux/reservation.h include/linux/*fence.h
  F:    Documentation/dma-buf-sharing.txt
  T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
  
@@@ -3386,13 -3350,6 +3386,13 @@@ W:    bluesmoke.sourceforge.ne
  S:    Maintained
  F:    drivers/edac/i82975x_edac.c
  
 +EDAC-IE31200
 +M:    Jason Baron <jbaron@akamai.com>
 +L:    linux-edac@vger.kernel.org
 +W:    bluesmoke.sourceforge.net
 +S:    Maintained
 +F:    drivers/edac/ie31200_edac.c
 +
  EDAC-MPC85XX
  M:    Johannes Thumshirn <johannes.thumshirn@men.de>
  L:    linux-edac@vger.kernel.org
@@@ -4019,12 -3976,6 +4019,12 @@@ F:    Documentation/isdn/README.gigase
  F:    drivers/isdn/gigaset/
  F:    include/uapi/linux/gigaset_dev.h
  
 +GO7007 MPEG CODEC
 +M:    Hans Verkuil <hans.verkuil@cisco.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/usb/go7007/
 +
  GPIO SUBSYSTEM
  M:    Linus Walleij <linus.walleij@linaro.org>
  M:    Alexandre Courbot <gnurou@gmail.com>
@@@ -4253,7 -4204,7 +4253,7 @@@ L:      linux-kernel@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  S:    Maintained
  F:    Documentation/timers/
 -F:    kernel/hrtimer.c
 +F:    kernel/time/hrtimer.c
  F:    kernel/time/clockevents.c
  F:    kernel/time/tick*.*
  F:    kernel/time/timer_*.c
@@@ -5115,6 -5066,13 +5115,6 @@@ S:     Maintaine
  F:    Documentation/hwmon/k8temp
  F:    drivers/hwmon/k8temp.c
  
 -KTAP
 -M:    Jovi Zhangwei <jovi.zhangwei@gmail.com>
 -W:    http://www.ktap.org
 -L:    ktap@freelists.org
 -S:    Maintained
 -F:    drivers/staging/ktap/
 -
  KCONFIG
  M:    "Yann E. MORIN" <yann.morin.1998@free.fr>
  L:    linux-kbuild@vger.kernel.org
@@@ -5697,6 -5655,16 +5697,6 @@@ F:     Documentation/networking/mac80211-in
  F:    include/net/mac80211.h
  F:    net/mac80211/
  
 -MAC80211 PID RATE CONTROL
 -M:    Stefano Brivio <stefano.brivio@polimi.it>
 -M:    Mattias Nissler <mattias.nissler@gmx.de>
 -L:    linux-wireless@vger.kernel.org
 -W:    http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/PID
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 -S:    Maintained
 -F:    net/mac80211/rc80211_pid*
 -
  MACVLAN DRIVER
  M:    Patrick McHardy <kaber@trash.net>
  L:    netdev@vger.kernel.org
@@@ -5741,8 -5709,7 +5741,8 @@@ S:      Maintaine
  F:    drivers/net/ethernet/marvell/mvneta.*
  
  MARVELL MWIFIEX WIRELESS DRIVER
 -M:    Bing Zhao <bzhao@marvell.com>
 +M:    Amitkumar Karwar <akarwar@marvell.com>
 +M:    Avinash Patil <patila@marvell.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/mwifiex/
@@@ -5988,9 -5955,9 +5988,9 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
 -F:    drivers/staging/media/msi3101/msi001*
 +F:    drivers/media/tuners/msi001*
  
 -MSI3101 MEDIA DRIVER
 +MSI2500 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
  W:    http://linuxtv.org/
@@@ -5998,7 -5965,7 +5998,7 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
 -F:    drivers/staging/media/msi3101/sdr-msi3101*
 +F:    drivers/media/usb/msi2500/
  
  MT9M032 APTINA SENSOR DRIVER
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
@@@ -6522,12 -6489,11 +6522,12 @@@ L:   linux-omap@vger.kernel.or
  S:    Maintained
  F:    arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  
 -OMAP IMAGE SIGNAL PROCESSOR (ISP)
 +OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS)
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  F:    drivers/media/platform/omap3isp/
 +F:    drivers/staging/media/omap4iss/
  
  OMAP USB SUPPORT
  M:    Felipe Balbi <balbi@ti.com>
@@@ -6990,12 -6956,6 +6990,12 @@@ L:    linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    drivers/pinctrl/pinctrl-at91.c
  
 +PIN CONTROLLER - RENESAS
 +M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 +L:    linux-sh@vger.kernel.org
 +S:    Maintained
 +F:    drivers/pinctrl/sh-pfc/
 +
  PIN CONTROLLER - SAMSUNG
  M:    Tomasz Figa <t.figa@samsung.com>
  M:    Thomas Abraham <thomas.abraham@linaro.org>
@@@ -7060,10 -7020,10 +7060,10 @@@ POSIX CLOCKS and TIMER
  M:    Thomas Gleixner <tglx@linutronix.de>
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
 -S:    Supported
 +S:    Maintained
  F:    fs/timerfd.c
  F:    include/linux/timer*
 -F:    kernel/*timer*
 +F:    kernel/time/*timer*
  
  POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
  M:    Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
@@@ -7277,12 -7237,6 +7277,12 @@@ M:    Robert Jarzmik <robert.jarzmik@free.
  L:    rtc-linux@googlegroups.com
  S:    Maintained
  
 +QAT DRIVER
 +M:      Tadeusz Struk <tadeusz.struk@intel.com>
 +L:      qat-linux@intel.com
 +S:      Supported
 +F:      drivers/crypto/qat/
 +
  QIB DRIVER
  M:    Mike Marciniszyn <infinipath@intel.com>
  L:    linux-rdma@vger.kernel.org
@@@ -7464,20 -7418,16 +7464,20 @@@ S:   Orpha
  F:    drivers/net/wireless/ray*
  
  RCUTORTURE MODULE
 -M:    Josh Triplett <josh@freedesktop.org>
 +M:    Josh Triplett <josh@joshtriplett.org>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
  F:    Documentation/RCU/torture.txt
 -F:    kernel/rcu/torture.c
 +F:    kernel/rcu/rcutorture.c
  
  RCUTORTURE TEST FRAMEWORK
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 +M:    Josh Triplett <josh@joshtriplett.org>
 +R:    Steven Rostedt <rostedt@goodmis.org>
 +R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 +R:    Lai Jiangshan <laijs@cn.fujitsu.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
@@@ -7500,11 -7450,8 +7500,11 @@@ S:    Supporte
  F:    net/rds/
  
  READ-COPY UPDATE (RCU)
 -M:    Dipankar Sarma <dipankar@in.ibm.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 +M:    Josh Triplett <josh@joshtriplett.org>
 +R:    Steven Rostedt <rostedt@goodmis.org>
 +R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 +R:    Lai Jiangshan <laijs@cn.fujitsu.com>
  L:    linux-kernel@vger.kernel.org
  W:    http://www.rdrop.com/users/paulmck/RCU/
  S:    Supported
@@@ -7514,7 -7461,7 +7514,7 @@@ X:      Documentation/RCU/torture.tx
  F:    include/linux/rcu*
  X:    include/linux/srcu.h
  F:    kernel/rcu/
 -X:    kernel/rcu/torture.c
 +X:    kernel/torture.c
  
  REAL TIME CLOCK (RTC) SUBSYSTEM
  M:    Alessandro Zummo <a.zummo@towertech.it>
@@@ -7526,13 -7473,6 +7526,13 @@@ F:    drivers/rtc
  F:    include/linux/rtc.h
  F:    include/uapi/linux/rtc.h
  
 +REALTEK AUDIO CODECS
 +M:    Bard Liao <bardliao@realtek.com>
 +M:    Oder Chiou <oder_chiou@realtek.com>
 +S:    Maintained
 +F:    sound/soc/codecs/rt*
 +F:    include/sound/rt*.h
 +
  REISERFS FILE SYSTEM
  L:    reiserfs-devel@vger.kernel.org
  S:    Supported
@@@ -7642,7 -7582,7 +7642,7 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
 -F:    drivers/staging/media/rtl2832u_sdr/rtl2832_sdr*
 +F:    drivers/media/dvb-frontends/rtl2832_sdr*
  
  RTL8180 WIRELESS DRIVER
  M:    "John W. Linville" <linville@tuxdriver.com>
@@@ -7876,11 -7816,6 +7876,11 @@@ S:    Maintaine
  F:    include/linux/mmc/dw_mmc.h
  F:    drivers/mmc/host/dw_mmc*
  
 +THUNDERBOLT DRIVER
 +M:    Andreas Noever <andreas.noever@gmail.com>
 +S:    Maintained
 +F:    drivers/thunderbolt/
 +
  TIMEKEEPING, CLOCKSOURCE CORE, NTP
  M:    John Stultz <john.stultz@linaro.org>
  M:    Thomas Gleixner <tglx@linutronix.de>
@@@ -8016,16 -7951,6 +8016,16 @@@ S:    Maintaine
  F:    drivers/mmc/host/sdhci.*
  F:    drivers/mmc/host/sdhci-pltfm.[ch]
  
 +SECURE COMPUTING
 +M:    Kees Cook <keescook@chromium.org>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git seccomp
 +S:    Supported
 +F:    kernel/seccomp.c
 +F:    include/uapi/linux/seccomp.h
 +F:    include/linux/seccomp.h
 +K:    \bsecure_computing
 +K:    \bTIF_SECCOMP\b
 +
  SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
  M:    Anton Vorontsov <anton@enomsg.org>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -8094,16 -8019,6 +8094,16 @@@ F:    drivers/ata
  F:    include/linux/ata.h
  F:    include/linux/libata.h
  
 +SERIAL ATA AHCI PLATFORM devices support
 +M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Tejun Heo <tj@kernel.org>
 +L:    linux-ide@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
 +S:    Supported
 +F:    drivers/ata/ahci_platform.c
 +F:    drivers/ata/libahci_platform.c
 +F:    include/linux/ahci_platform.h
 +
  SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
  M:    Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
  L:    linux-scsi@vger.kernel.org
@@@ -8319,9 -8234,6 +8319,9 @@@ F:      mm/sl?b
  SLEEPABLE READ-COPY UPDATE (SRCU)
  M:    Lai Jiangshan <laijs@cn.fujitsu.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
 +M:    Josh Triplett <josh@joshtriplett.org>
 +R:    Steven Rostedt <rostedt@goodmis.org>
 +R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  L:    linux-kernel@vger.kernel.org
  W:    http://www.rdrop.com/users/paulmck/RCU/
  S:    Supported
@@@ -8421,12 -8333,6 +8421,12 @@@ M:    Chris Boot <bootc@bootc.net
  S:    Maintained
  F:    drivers/leds/leds-net48xx.c
  
 +SOFTLOGIC 6x10 MPEG CODEC
 +M:    Ismael Luceno <ismael.luceno@corp.bluecherry.net>
 +L:    linux-media@vger.kernel.org
 +S:    Supported
 +F:    drivers/media/pci/solo6x10/
 +
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Neil Brown <neilb@suse.de>
  L:    linux-raid@vger.kernel.org
@@@ -8617,12 -8523,37 +8617,12 @@@ L:   devel@driverdev.osuosl.or
  S:    Supported
  F:    drivers/staging/
  
 -STAGING - AGERE HERMES II and II.5 WIRELESS DRIVERS
 -M:    Henk de Groot <pe1dnn@amsat.org>
 -S:    Odd Fixes
 -F:    drivers/staging/wlags49_h2/
 -F:    drivers/staging/wlags49_h25/
 -
 -STAGING - ASUS OLED
 -M:    Jakub Schmidtke <sjakub@gmail.com>
 -S:    Odd Fixes
 -F:    drivers/staging/asus_oled/
 -
  STAGING - COMEDI
  M:    Ian Abbott <abbotti@mev.co.uk>
  M:    H Hartley Sweeten <hsweeten@visionengravers.com>
  S:    Odd Fixes
  F:    drivers/staging/comedi/
  
 -STAGING - CRYSTAL HD VIDEO DECODER
 -M:    Naren Sankar <nsankar@broadcom.com>
 -M:    Jarod Wilson <jarod@wilsonet.com>
 -M:    Scott Davilla <davilla@4pi.com>
 -M:    Manu Abraham <abraham.manu@gmail.com>
 -S:    Odd Fixes
 -F:    drivers/staging/crystalhd/
 -
 -STAGING - ECHO CANCELLER
 -M:    Steve Underwood <steveu@coppice.org>
 -M:    David Rowe <david@rowetel.com>
 -S:    Odd Fixes
 -F:    drivers/staging/echo/
 -
  STAGING - ET131X NETWORK DRIVER
  M:    Mark Einon <mark.einon@gmail.com>
  S:    Odd Fixes
@@@ -8633,6 -8564,16 +8633,6 @@@ M:     Marek Belisko <marek.belisko@gmail.c
  S:    Odd Fixes
  F:    drivers/staging/ft1000/
  
 -STAGING - FRONTIER TRANZPORT AND ALPHATRACK
 -M:    David Täht <d@teklibre.com>
 -S:    Odd Fixes
 -F:    drivers/staging/frontier/
 -
 -STAGING - GO7007 MPEG CODEC
 -M:    Hans Verkuil <hans.verkuil@cisco.com>
 -S:    Maintained
 -F:    drivers/staging/media/go7007/
 -
  STAGING - INDUSTRIAL IO
  M:    Jonathan Cameron <jic23@kernel.org>
  L:    linux-iio@vger.kernel.org
@@@ -8684,27 -8625,52 +8684,27 @@@ L:   linux-wireless@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/rtl8723au/
  
 -STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 -M:    Teddy Wang <teddy.wang@siliconmotion.com.cn>
 -S:    Odd Fixes
 -F:    drivers/staging/sm7xxfb/
 -
  STAGING - SLICOSS
  M:    Lior Dotan <liodot@gmail.com>
  M:    Christopher Harrer <charrer@alacritech.com>
  S:    Odd Fixes
  F:    drivers/staging/slicoss/
  
 -STAGING - SOFTLOGIC 6x10 MPEG CODEC
 -M:    Ismael Luceno <ismael.luceno@corp.bluecherry.net>
 -S:    Supported
 -F:    drivers/staging/media/solo6x10/
 -
  STAGING - SPEAKUP CONSOLE SPEECH DRIVER
  M:    William Hubbs <w.d.hubbs@gmail.com>
  M:    Chris Brannon <chris@the-brannons.com>
  M:    Kirk Reiser <kirk@reisers.ca>
  M:    Samuel Thibault <samuel.thibault@ens-lyon.org>
 -L:    speakup@braille.uwo.ca
 +L:    speakup@linux-speakup.org
  W:    http://www.linux-speakup.org/
  S:    Odd Fixes
  F:    drivers/staging/speakup/
  
 -STAGING - TI DSP BRIDGE DRIVERS
 -M:    Omar Ramirez Luna <omar.ramirez@copitl.com>
 -S:    Odd Fixes
 -F:    drivers/staging/tidspbridge/
 -
 -STAGING - USB ENE SM/MS CARD READER DRIVER
 -M:    Al Cho <acho@novell.com>
 -S:    Odd Fixes
 -F:    drivers/staging/keucr/
 -
  STAGING - VIA VT665X DRIVERS
  M:    Forest Bond <forest@alittletooquiet.net>
  S:    Odd Fixes
  F:    drivers/staging/vt665?/
  
 -STAGING - WINBOND IS89C35 WLAN USB DRIVER
 -M:    Pavel Machek <pavel@ucw.cz>
 -S:    Odd Fixes
 -F:    drivers/staging/winbond/
 -
  STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER
  M:    Arnaud Patard <arnaud.patard@rtp-net.org>
  S:    Odd Fixes
@@@ -8940,7 -8906,7 +8940,7 @@@ M:      Stephen Warren <swarren@wwwdotorg.or
  M:    Thierry Reding <thierry.reding@gmail.com>
  L:    linux-tegra@vger.kernel.org
  Q:    http://patchwork.ozlabs.org/project/linux-tegra/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git
  S:    Supported
  N:    [^a-z]tegra
  
@@@ -9062,13 -9028,6 +9062,13 @@@ L:    linux-pm@vger.kernel.or
  S:    Supported
  F:    drivers/thermal/ti-soc-thermal/
  
 +TI CLOCK DRIVER
 +M:    Tero Kristo <t-kristo@ti.com>
 +L:    linux-omap@vger.kernel.org
 +S:    Maintained
 +F:    drivers/clk/ti/
 +F:    include/linux/clk/ti.h
 +
  TI FLASH MEDIA INTERFACE DRIVER
  M:    Alex Dubov <oakad@yahoo.com>
  S:    Maintained
@@@ -9556,6 -9515,15 +9556,6 @@@ L:     netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/usb/smsc95xx.*
  
 -USB SN9C1xx DRIVER
 -M:    Luca Risolia <luca.risolia@studio.unibo.it>
 -L:    linux-usb@vger.kernel.org
 -L:    linux-media@vger.kernel.org
 -T:    git git://linuxtv.org/media_tree.git
 -W:    http://www.linux-projects.org
 -S:    Maintained
 -F:    drivers/staging/media/sn9c102/
 -
  USB SUBSYSTEM
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-usb@vger.kernel.org
  #include <linux/inet.h>
  #include <net/dst.h>
  #include <net/route.h>
 +#include <net/ipv6.h>
 +#include <net/ip6_route.h>
 +#include <net/addrconf.h>
 +
  #include <linux/inetdevice.h> /* ip_dev_find */
  #include <linux/module.h>
  #include <net/tcp.h>
@@@ -197,8 -193,8 +197,8 @@@ struct cxgbi_device *cxgbi_device_find_
  }
  EXPORT_SYMBOL_GPL(cxgbi_device_find_by_lldev);
  
 -static struct cxgbi_device *cxgbi_device_find_by_netdev(struct net_device *ndev,
 -                                                      int *port)
 +struct cxgbi_device *cxgbi_device_find_by_netdev(struct net_device *ndev,
 +                                               int *port)
  {
        struct net_device *vdev = NULL;
        struct cxgbi_device *cdev, *tmp;
                "ndev 0x%p, %s, NO match found.\n", ndev, ndev->name);
        return NULL;
  }
 +EXPORT_SYMBOL_GPL(cxgbi_device_find_by_netdev);
 +
 +static struct cxgbi_device *cxgbi_device_find_by_mac(struct net_device *ndev,
 +                                                   int *port)
 +{
 +      struct net_device *vdev = NULL;
 +      struct cxgbi_device *cdev, *tmp;
 +      int i;
 +
 +      if (ndev->priv_flags & IFF_802_1Q_VLAN) {
 +              vdev = ndev;
 +              ndev = vlan_dev_real_dev(ndev);
 +              pr_info("vlan dev %s -> %s.\n", vdev->name, ndev->name);
 +      }
 +
 +      mutex_lock(&cdev_mutex);
 +      list_for_each_entry_safe(cdev, tmp, &cdev_list, list_head) {
 +              for (i = 0; i < cdev->nports; i++) {
 +                      if (!memcmp(ndev->dev_addr, cdev->ports[i]->dev_addr,
 +                                  MAX_ADDR_LEN)) {
 +                              cdev->hbas[i]->vdev = vdev;
 +                              mutex_unlock(&cdev_mutex);
 +                              if (port)
 +                                      *port = i;
 +                              return cdev;
 +                      }
 +              }
 +      }
 +      mutex_unlock(&cdev_mutex);
 +      log_debug(1 << CXGBI_DBG_DEV,
 +                "ndev 0x%p, %s, NO match mac found.\n",
 +                ndev, ndev->name);
 +      return NULL;
 +}
  
  void cxgbi_hbas_remove(struct cxgbi_device *cdev)
  {
  }
  EXPORT_SYMBOL_GPL(cxgbi_hbas_remove);
  
- int cxgbi_hbas_add(struct cxgbi_device *cdev, unsigned int max_lun,
+ int cxgbi_hbas_add(struct cxgbi_device *cdev, u64 max_lun,
                unsigned int max_id, struct scsi_host_template *sht,
                struct scsi_transport_template *stt)
  {
@@@ -358,7 -320,6 +358,7 @@@ static int sock_get_port(struct cxgbi_s
        struct cxgbi_ports_map *pmap = &cdev->pmap;
        unsigned int start;
        int idx;
 +      __be16 *port;
  
        if (!pmap->max_connect) {
                pr_err("cdev 0x%p, p#%u %s, NO port map.\n",
                return -EADDRNOTAVAIL;
        }
  
 -      if (csk->saddr.sin_port) {
 +      if (csk->csk_family == AF_INET)
 +              port = &csk->saddr.sin_port;
 +      else /* ipv6 */
 +              port = &csk->saddr6.sin6_port;
 +
 +      if (*port) {
                pr_err("source port NON-ZERO %u.\n",
 -                      ntohs(csk->saddr.sin_port));
 +                      ntohs(*port));
                return -EADDRINUSE;
        }
  
                        idx = 0;
                if (!pmap->port_csk[idx]) {
                        pmap->used++;
 -                      csk->saddr.sin_port =
 -                              htons(pmap->sport_base + idx);
 +                      *port = htons(pmap->sport_base + idx);
                        pmap->next = idx;
                        pmap->port_csk[idx] = csk;
                        spin_unlock_bh(&pmap->lock);
@@@ -417,22 -374,16 +417,22 @@@ static void sock_put_port(struct cxgbi_
  {
        struct cxgbi_device *cdev = csk->cdev;
        struct cxgbi_ports_map *pmap = &cdev->pmap;
 +      __be16 *port;
  
 -      if (csk->saddr.sin_port) {
 -              int idx = ntohs(csk->saddr.sin_port) - pmap->sport_base;
 +      if (csk->csk_family == AF_INET)
 +              port = &csk->saddr.sin_port;
 +      else /* ipv6 */
 +              port = &csk->saddr6.sin6_port;
  
 -              csk->saddr.sin_port = 0;
 +      if (*port) {
 +              int idx = ntohs(*port) - pmap->sport_base;
 +
 +              *port = 0;
                if (idx < 0 || idx >= pmap->max_connect) {
                        pr_err("cdev 0x%p, p#%u %s, port %u OOR.\n",
                                cdev, csk->port_id,
                                cdev->ports[csk->port_id]->name,
 -                              ntohs(csk->saddr.sin_port));
 +                              ntohs(*port));
                        return;
                }
  
@@@ -528,11 -479,17 +528,11 @@@ static struct cxgbi_sock *cxgbi_check_r
        int port = 0xFFFF;
        int err = 0;
  
 -      if (daddr->sin_family != AF_INET) {
 -              pr_info("address family 0x%x NOT supported.\n",
 -                      daddr->sin_family);
 -              err = -EAFNOSUPPORT;
 -              goto err_out;
 -      }
 -
        rt = find_route_ipv4(&fl4, 0, daddr->sin_addr.s_addr, 0, daddr->sin_port, 0);
        if (!rt) {
                pr_info("no route to ipv4 0x%x, port %u.\n",
 -                      daddr->sin_addr.s_addr, daddr->sin_port);
 +                      be32_to_cpu(daddr->sin_addr.s_addr),
 +                      be16_to_cpu(daddr->sin_port));
                err = -ENETUNREACH;
                goto err_out;
        }
        csk->port_id = port;
        csk->mtu = mtu;
        csk->dst = dst;
 +
 +      csk->csk_family = AF_INET;
        csk->daddr.sin_addr.s_addr = daddr->sin_addr.s_addr;
        csk->daddr.sin_port = daddr->sin_port;
        csk->daddr.sin_family = daddr->sin_family;
 +      csk->saddr.sin_family = daddr->sin_family;
        csk->saddr.sin_addr.s_addr = fl4.saddr;
        neigh_release(n);
  
@@@ -602,123 -556,6 +602,123 @@@ err_out
        return ERR_PTR(err);
  }
  
 +#if IS_ENABLED(CONFIG_IPV6)
 +static struct rt6_info *find_route_ipv6(const struct in6_addr *saddr,
 +                                      const struct in6_addr *daddr)
 +{
 +      struct flowi6 fl;
 +
 +      if (saddr)
 +              memcpy(&fl.saddr, saddr, sizeof(struct in6_addr));
 +      if (daddr)
 +              memcpy(&fl.daddr, daddr, sizeof(struct in6_addr));
 +      return (struct rt6_info *)ip6_route_output(&init_net, NULL, &fl);
 +}
 +
 +static struct cxgbi_sock *cxgbi_check_route6(struct sockaddr *dst_addr)
 +{
 +      struct sockaddr_in6 *daddr6 = (struct sockaddr_in6 *)dst_addr;
 +      struct dst_entry *dst;
 +      struct net_device *ndev;
 +      struct cxgbi_device *cdev;
 +      struct rt6_info *rt = NULL;
 +      struct neighbour *n;
 +      struct in6_addr pref_saddr;
 +      struct cxgbi_sock *csk = NULL;
 +      unsigned int mtu = 0;
 +      int port = 0xFFFF;
 +      int err = 0;
 +
 +      rt = find_route_ipv6(NULL, &daddr6->sin6_addr);
 +
 +      if (!rt) {
 +              pr_info("no route to ipv6 %pI6 port %u\n",
 +                      daddr6->sin6_addr.s6_addr,
 +                      be16_to_cpu(daddr6->sin6_port));
 +              err = -ENETUNREACH;
 +              goto err_out;
 +      }
 +
 +      dst = &rt->dst;
 +
 +      n = dst_neigh_lookup(dst, &daddr6->sin6_addr);
 +
 +      if (!n) {
 +              pr_info("%pI6, port %u, dst no neighbour.\n",
 +                      daddr6->sin6_addr.s6_addr,
 +                      be16_to_cpu(daddr6->sin6_port));
 +              err = -ENETUNREACH;
 +              goto rel_rt;
 +      }
 +      ndev = n->dev;
 +
 +      if (ipv6_addr_is_multicast(&rt->rt6i_dst.addr)) {
 +              pr_info("multi-cast route %pI6 port %u, dev %s.\n",
 +                      daddr6->sin6_addr.s6_addr,
 +                      ntohs(daddr6->sin6_port), ndev->name);
 +              err = -ENETUNREACH;
 +              goto rel_rt;
 +      }
 +
 +      cdev = cxgbi_device_find_by_netdev(ndev, &port);
 +      if (!cdev)
 +              cdev = cxgbi_device_find_by_mac(ndev, &port);
 +      if (!cdev) {
 +              pr_info("dst %pI6 %s, NOT cxgbi device.\n",
 +                      daddr6->sin6_addr.s6_addr, ndev->name);
 +              err = -ENETUNREACH;
 +              goto rel_rt;
 +      }
 +      log_debug(1 << CXGBI_DBG_SOCK,
 +                "route to %pI6 :%u, ndev p#%d,%s, cdev 0x%p.\n",
 +                daddr6->sin6_addr.s6_addr, ntohs(daddr6->sin6_port), port,
 +                ndev->name, cdev);
 +
 +      csk = cxgbi_sock_create(cdev);
 +      if (!csk) {
 +              err = -ENOMEM;
 +              goto rel_rt;
 +      }
 +      csk->cdev = cdev;
 +      csk->port_id = port;
 +      csk->mtu = mtu;
 +      csk->dst = dst;
 +
 +      if (ipv6_addr_any(&rt->rt6i_prefsrc.addr)) {
 +              struct inet6_dev *idev = ip6_dst_idev((struct dst_entry *)rt);
 +
 +              err = ipv6_dev_get_saddr(&init_net, idev ? idev->dev : NULL,
 +                                       &daddr6->sin6_addr, 0, &pref_saddr);
 +              if (err) {
 +                      pr_info("failed to get source address to reach %pI6\n",
 +                              &daddr6->sin6_addr);
 +                      goto rel_rt;
 +              }
 +      } else {
 +              pref_saddr = rt->rt6i_prefsrc.addr;
 +      }
 +
 +      csk->csk_family = AF_INET6;
 +      csk->daddr6.sin6_addr = daddr6->sin6_addr;
 +      csk->daddr6.sin6_port = daddr6->sin6_port;
 +      csk->daddr6.sin6_family = daddr6->sin6_family;
 +      csk->saddr6.sin6_addr = pref_saddr;
 +
 +      neigh_release(n);
 +      return csk;
 +
 +rel_rt:
 +      if (n)
 +              neigh_release(n);
 +
 +      ip6_rt_put(rt);
 +      if (csk)
 +              cxgbi_sock_closed(csk);
 +err_out:
 +      return ERR_PTR(err);
 +}
 +#endif /* IS_ENABLED(CONFIG_IPV6) */
 +
  void cxgbi_sock_established(struct cxgbi_sock *csk, unsigned int snd_isn,
                        unsigned int opt)
  {
@@@ -2357,34 -2194,6 +2357,34 @@@ int cxgbi_set_conn_param(struct iscsi_c
  }
  EXPORT_SYMBOL_GPL(cxgbi_set_conn_param);
  
 +static inline int csk_print_port(struct cxgbi_sock *csk, char *buf)
 +{
 +      int len;
 +
 +      cxgbi_sock_get(csk);
 +      len = sprintf(buf, "%hu\n", ntohs(csk->daddr.sin_port));
 +      cxgbi_sock_put(csk);
 +
 +      return len;
 +}
 +
 +static inline int csk_print_ip(struct cxgbi_sock *csk, char *buf)
 +{
 +      int len;
 +
 +      cxgbi_sock_get(csk);
 +      if (csk->csk_family == AF_INET)
 +              len = sprintf(buf, "%pI4",
 +                            &csk->daddr.sin_addr.s_addr);
 +      else
 +              len = sprintf(buf, "%pI6",
 +                            &csk->daddr6.sin6_addr);
 +
 +      cxgbi_sock_put(csk);
 +
 +      return len;
 +}
 +
  int cxgbi_get_ep_param(struct iscsi_endpoint *ep, enum iscsi_param param,
                       char *buf)
  {
@@@ -2638,19 -2447,7 +2638,19 @@@ struct iscsi_endpoint *cxgbi_ep_connect
                }
        }
  
 -      csk = cxgbi_check_route(dst_addr);
 +      if (dst_addr->sa_family == AF_INET) {
 +              csk = cxgbi_check_route(dst_addr);
 +#if IS_ENABLED(CONFIG_IPV6)
 +      } else if (dst_addr->sa_family == AF_INET6) {
 +              csk = cxgbi_check_route6(dst_addr);
 +#endif
 +      } else {
 +              pr_info("address family 0x%x NOT supported.\n",
 +                      dst_addr->sa_family);
 +              err = -EAFNOSUPPORT;
 +              return (struct iscsi_endpoint *)ERR_PTR(err);
 +      }
 +
        if (IS_ERR(csk))
                return (struct iscsi_endpoint *)csk;
        cxgbi_sock_get(csk);
@@@ -44,15 -44,6 +44,15 @@@ enum cxgbi_dbg_flag 
                        pr_info(fmt, ##__VA_ARGS__); \
        } while (0)
  
 +#define pr_info_ipaddr(fmt_trail,                                     \
 +                      addr1, addr2, args_trail...)                    \
 +do {                                                                  \
 +      if (!((1 << CXGBI_DBG_SOCK) & dbg_level))                       \
 +              break;                                                  \
 +      pr_info("%pISpc - %pISpc, " fmt_trail,                          \
 +              addr1, addr2, args_trail);                              \
 +} while (0)
 +
  /* max. connections per adapter */
  #define CXGBI_MAX_CONN                16384
  
@@@ -211,15 -202,8 +211,15 @@@ struct cxgbi_sock 
        spinlock_t lock;
        struct kref refcnt;
        unsigned int state;
 -      struct sockaddr_in saddr;
 -      struct sockaddr_in daddr;
 +      unsigned int csk_family;
 +      union {
 +              struct sockaddr_in saddr;
 +              struct sockaddr_in6 saddr6;
 +      };
 +      union {
 +              struct sockaddr_in daddr;
 +              struct sockaddr_in6 daddr6;
 +      };
        struct dst_entry *dst;
        struct sk_buff_head receive_queue;
        struct sk_buff_head write_queue;
@@@ -708,8 -692,7 +708,8 @@@ struct cxgbi_device *cxgbi_device_regis
  void cxgbi_device_unregister(struct cxgbi_device *);
  void cxgbi_device_unregister_all(unsigned int flag);
  struct cxgbi_device *cxgbi_device_find_by_lldev(void *);
- int cxgbi_hbas_add(struct cxgbi_device *, unsigned int, unsigned int,
 +struct cxgbi_device *cxgbi_device_find_by_netdev(struct net_device *, int *);
+ int cxgbi_hbas_add(struct cxgbi_device *, u64, unsigned int,
                        struct scsi_host_template *,
                        struct scsi_transport_template *);
  void cxgbi_hbas_remove(struct cxgbi_device *);
@@@ -20,6 -20,8 +20,6 @@@
   *   Micky Ching (micky_ching@realsil.com.cn)
   */
  
 -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 -
  #include <linux/blkdev.h>
  #include <linux/kthread.h>
  #include <linux/sched.h>
@@@ -463,20 -465,20 +463,20 @@@ static int rtsx_control_thread(void *__
                else if (chip->srb->device->id) {
                        dev_err(&dev->pci->dev, "Bad target number (%d:%d)\n",
                                chip->srb->device->id,
-                               chip->srb->device->lun);
+                               (u8)chip->srb->device->lun);
                        chip->srb->result = DID_BAD_TARGET << 16;
                }
  
                else if (chip->srb->device->lun > chip->max_lun) {
                        dev_err(&dev->pci->dev, "Bad LUN (%d:%d)\n",
                                chip->srb->device->id,
-                               chip->srb->device->lun);
+                               (u8)chip->srb->device->lun);
                        chip->srb->result = DID_BAD_TARGET << 16;
                }
  
                /* we've got a command, let's do it! */
                else {
 -                      RTSX_DEBUG(scsi_show_command(chip->srb));
 +                      scsi_show_command(chip);
                        rtsx_invoke_transport(chip->srb, chip);
                }
  
@@@ -862,7 -864,7 +862,7 @@@ static int rtsx_probe(struct pci_dev *p
        int err = 0;
        struct task_struct *th;
  
 -      RTSX_DEBUGP("Realtek PCI-E card reader detected\n");
 +      dev_dbg(&pci->dev, "Realtek PCI-E card reader detected\n");
  
        err = pci_enable_device(pci);
        if (err < 0) {
@@@ -18,9 -18,7 +18,7 @@@ config USB_STORAG
  
          This option depends on 'SCSI' support being enabled, but you
          probably also need 'SCSI device support: SCSI disk support'
-         (BLK_DEV_SD) for most USB storage devices.  Some devices also
-         will require 'Probe all LUNs on each SCSI device'
-         (SCSI_MULTI_LUN).
+         (BLK_DEV_SD) for most USB storage devices.
  
          To compile this driver as a module, choose M here: the
          module will be called usb-storage.
@@@ -193,7 -191,7 +191,7 @@@ config USB_STORAGE_ENE_UB625
        depends on USB_STORAGE
        ---help---
          Say Y here if you wish to control a ENE SD/MS Card reader.
 -        To use SM card, please build driver/staging/keucr/keucr.ko
 +        Note that this driver does not support SM cards.
  
          This option depends on 'SCSI' support being enabled, but you
          probably also need 'SCSI device support: SCSI disk support'