]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 May 2011 20:29:52 +0000 (13:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 May 2011 20:29:52 +0000 (13:29 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (110 commits)
  [SCSI] qla2xxx: Refactor call to qla2xxx_read_sfp for thermal temperature.
  [SCSI] qla2xxx: Unify the read/write sfp mailbox command routines.
  [SCSI] qla2xxx: Clear complete initialization control block.
  [SCSI] qla2xxx: Allow an override of the registered maximum LUN.
  [SCSI] qla2xxx: Add host number in reset and quiescent message logs.
  [SCSI] qla2xxx: Correctly read sfp single byte mailbox register.
  [SCSI] qla2xxx: Add qla82xx_rom_unlock() function.
  [SCSI] qla2xxx: Log if qla82xx firmware fails to load from flash.
  [SCSI] qla2xxx: Use passed in host to initialize local scsi_qla_host in queuecommand function
  [SCSI] qla2xxx: Correct buffer start in edc sysfs debug print.
  [SCSI] qla2xxx: Update firmware version after flash update for ISP82xx.
  [SCSI] qla2xxx: Fix hang during driver unload when vport is active.
  [SCSI] qla2xxx: Properly set the dsd_list_len for dsd_chaining in cmd type 6.
  [SCSI] qla2xxx: Fix virtual port failing to login after chip reset.
  [SCSI] qla2xxx: Fix vport delete hang when logins are outstanding.
  [SCSI] hpsa: Change memset using sizeof(ptr) to sizeof(*ptr)
  [SCSI] ipr: Rate limit DMA mapping errors
  [SCSI] hpsa: add P2000 to list of shared SAS devices
  [SCSI] hpsa: do not attempt PCI power management reset method if we know it won't work.
  [SCSI] hpsa: remove superfluous sleeps around reset code
  ...

1  2 
MAINTAINERS
drivers/scsi/mpt2sas/mpt2sas_ctl.c
drivers/scsi/scsi_transport_fc.c

diff --combined MAINTAINERS
index 8df8d2dfba284b251e85c2b975b3fa1039bb7e10,4f68fa787ffff00981236fbe975ce14f4773d66d..ae67c34518cd15c56eb1f2520c86ee09813c00c4
@@@ -151,7 -151,6 +151,7 @@@ S: Maintaine
  F:    drivers/net/hamradio/6pack.c
  
  8169 10/100/1000 GIGABIT ETHERNET DRIVER
 +M:    Realtek linux nic maintainers <nic_swsd@realtek.com>
  M:    Francois Romieu <romieu@fr.zoreil.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
@@@ -405,8 -404,8 +405,8 @@@ S: Maintaine
  F:    sound/oss/aedsp16.c
  
  AFFS FILE SYSTEM
 -M:    Roman Zippel <zippel@linux-m68k.org>
 -S:    Maintained
 +L:    linux-fsdevel@vger.kernel.org
 +S:    Orphan
  F:    Documentation/filesystems/affs.txt
  F:    fs/affs/
  
@@@ -1032,13 -1031,12 +1032,13 @@@ W:   http://www.fluff.org/ben/linux
  S:    Maintained
  F:    arch/arm/mach-s3c64xx/
  
 -ARM/S5P ARM ARCHITECTURES
 +ARM/S5P EXYNOS ARM ARCHITECTURES
  M:    Kukjin Kim <kgene.kim@samsung.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-s5p*/
 +F:    arch/arm/mach-exynos*/
  
  ARM/SAMSUNG MOBILE MACHINE SUPPORT
  M:    Kyungmin Park <kyungmin.park@samsung.com>
@@@ -2809,23 -2807,42 +2809,23 @@@ GPIO SUBSYSTE
  M:    Grant Likely <grant.likely@secretlab.ca>
  S:    Maintained
  T:    git git://git.secretlab.ca/git/linux-2.6.git
 -F:    Documentation/gpio/gpio.txt
 +F:    Documentation/gpio.txt
  F:    drivers/gpio/
  F:    include/linux/gpio*
  
 +GRE DEMULTIPLEXER DRIVER
 +M:    Dmitry Kozlov <xeb@mail.ru>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    net/ipv4/gre.c
 +F:    include/net/gre.h
 +
  GRETH 10/100/1G Ethernet MAC device driver
  M:    Kristoffer Glembo <kristoffer@gaisler.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/greth*
  
 -HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
 -M:    Frank Seidel <frank@f-seidel.de>
 -L:    platform-driver-x86@vger.kernel.org
 -W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
 -S:    Maintained
 -F:    drivers/platform/x86/hdaps.c
 -
 -HWPOISON MEMORY FAILURE HANDLING
 -M:    Andi Kleen <andi@firstfloor.org>
 -L:    linux-mm@kvack.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
 -S:    Maintained
 -F:    mm/memory-failure.c
 -F:    mm/hwpoison-inject.c
 -
 -HYPERVISOR VIRTUAL CONSOLE DRIVER
 -L:    linuxppc-dev@lists.ozlabs.org
 -S:    Odd Fixes
 -F:    drivers/tty/hvc/
 -
 -iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
 -M:    Peter Jones <pjones@redhat.com>
 -M:    Konrad Rzeszutek Wilk <konrad@kernel.org>
 -S:    Maintained
 -F:    drivers/firmware/iscsi_ibft*
 -
  GSPCA FINEPIX SUBDRIVER
  M:    Frank Zago <frank@zago.net>
  L:    linux-media@vger.kernel.org
@@@ -2876,26 -2893,6 +2876,26 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/media/video/gspca/
  
 +HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
 +M:    Frank Seidel <frank@f-seidel.de>
 +L:    platform-driver-x86@vger.kernel.org
 +W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
 +S:    Maintained
 +F:    drivers/platform/x86/hdaps.c
 +
 +HWPOISON MEMORY FAILURE HANDLING
 +M:    Andi Kleen <andi@firstfloor.org>
 +L:    linux-mm@kvack.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
 +S:    Maintained
 +F:    mm/memory-failure.c
 +F:    mm/hwpoison-inject.c
 +
 +HYPERVISOR VIRTUAL CONSOLE DRIVER
 +L:    linuxppc-dev@lists.ozlabs.org
 +S:    Odd Fixes
 +F:    drivers/tty/hvc/
 +
  HARDWARE MONITORING
  M:    Jean Delvare <khali@linux-fr.org>
  M:    Guenter Roeck <guenter.roeck@ericsson.com>
@@@ -2946,8 -2943,8 +2946,8 @@@ F:      drivers/block/cciss
  F:    include/linux/cciss_ioctl.h
  
  HFS FILESYSTEM
 -M:    Roman Zippel <zippel@linux-m68k.org>
 -S:    Maintained
 +L:    linux-fsdevel@vger.kernel.org
 +S:    Orphan
  F:    Documentation/filesystems/hfs.txt
  F:    fs/hfs/
  
@@@ -3479,12 -3476,6 +3479,12 @@@ F:    Documentation/isapnp.tx
  F:    drivers/pnp/isapnp/
  F:    include/linux/isapnp.h
  
 +iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
 +M:    Peter Jones <pjones@redhat.com>
 +M:    Konrad Rzeszutek Wilk <konrad@kernel.org>
 +S:    Maintained
 +F:    drivers/firmware/iscsi_ibft*
 +
  ISCSI
  M:    Mike Christie <michaelc@cs.wisc.edu>
  L:    open-iscsi@googlegroups.com
@@@ -3814,7 -3805,7 +3814,7 @@@ M:      Rusty Russell <rusty@rustcorp.com.au
  L:    lguest@lists.ozlabs.org
  W:    http://lguest.ozlabs.org/
  S:    Odd Fixes
 -F:    Documentation/lguest/
 +F:    Documentation/virtual/lguest/
  F:    arch/x86/lguest/
  F:    drivers/lguest/
  F:    include/linux/lguest*.h
@@@ -4001,6 -3992,7 +4001,6 @@@ F:      arch/m32r
  
  M68K ARCHITECTURE
  M:    Geert Uytterhoeven <geert@linux-m68k.org>
 -M:    Roman Zippel <zippel@linux-m68k.org>
  L:    linux-m68k@lists.linux-m68k.org
  W:    http://www.linux-m68k.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
@@@ -4995,13 -4987,6 +4995,13 @@@ F:    Documentation/pps
  F:    drivers/pps/
  F:    include/linux/pps*.h
  
 +PPTP DRIVER
 +M:    Dmitry Kozlov <xeb@mail.ru>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/pptp.c
 +W:    http://sourceforge.net/projects/accel-pptp
 +
  PREEMPTIBLE KERNEL
  M:    Robert Love <rml@tech9.net>
  L:    kpreempt-tech@lists.sourceforge.net
@@@ -5410,7 -5395,7 +5410,7 @@@ F:      drivers/media/video/*7146
  F:    include/media/*7146*
  
  SAMSUNG AUDIO (ASoC) DRIVERS
 -M:    Jassi Brar <jassi.brar@samsung.com>
 +M:    Jassi Brar <jassisinghbrar@gmail.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/samsung
@@@ -5611,9 -5596,9 +5611,9 @@@ F:      include/linux/ata.
  F:    include/linux/libata.h
  
  SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
- M:    Jayamohan Kallickal <jayamohank@serverengines.com>
+ M:    Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
  L:    linux-scsi@vger.kernel.org
- W:    http://www.serverengines.com
+ W:    http://www.emulex.com
  S:    Supported
  F:    drivers/scsi/be2iscsi/
  
@@@ -6569,7 -6554,7 +6569,7 @@@ S:      Maintaine
  F:    drivers/usb/host/uhci*
  
  USB "USBNET" DRIVER FRAMEWORK
 -M:    David Brownell <dbrownell@users.sourceforge.net>
 +M:    Oliver Neukum <oneukum@suse.de>
  L:    netdev@vger.kernel.org
  W:    http://www.linux-usb.org/usbnet
  S:    Maintained
@@@ -6631,7 -6616,7 +6631,7 @@@ L:      user-mode-linux-devel@lists.sourcefo
  L:    user-mode-linux-user@lists.sourceforge.net
  W:    http://user-mode-linux.sourceforge.net
  S:    Maintained
 -F:    Documentation/uml/
 +F:    Documentation/virtual/uml/
  F:    arch/um/
  F:    fs/hostfs/
  F:    fs/hppfs/
@@@ -6935,18 -6920,6 +6935,18 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/platform/x86
  
 +XEN HYPERVISOR INTERFACE
 +M:    Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
 +M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 +L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
 +L:    virtualization@lists.linux-foundation.org
 +S:    Supported
 +F:    arch/x86/xen/
 +F:    drivers/*/xen-*front.c
 +F:    drivers/xen/
 +F:    arch/x86/include/asm/xen/
 +F:    include/xen/
 +
  XEN NETWORK BACKEND DRIVER
  M:    Ian Campbell <ian.campbell@citrix.com>
  L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
@@@ -6968,6 -6941,18 +6968,6 @@@ S:     Supporte
  F:    arch/x86/xen/*swiotlb*
  F:    drivers/xen/*swiotlb*
  
 -XEN HYPERVISOR INTERFACE
 -M:    Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
 -M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 -L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
 -L:    virtualization@lists.linux-foundation.org
 -S:    Supported
 -F:    arch/x86/xen/
 -F:    drivers/*/xen-*front.c
 -F:    drivers/xen/
 -F:    arch/x86/include/asm/xen/
 -F:    include/xen/
 -
  XFS FILESYSTEM
  P:    Silicon Graphics Inc
  M:    Alex Elder <aelder@sgi.com>
@@@ -7037,6 -7022,20 +7037,6 @@@ M:     "Maciej W. Rozycki" <macro@linux-mip
  S:    Maintained
  F:    drivers/tty/serial/zs.*
  
 -GRE DEMULTIPLEXER DRIVER
 -M:    Dmitry Kozlov <xeb@mail.ru>
 -L:    netdev@vger.kernel.org
 -S:    Maintained
 -F:    net/ipv4/gre.c
 -F:    include/net/gre.h
 -
 -PPTP DRIVER
 -M:    Dmitry Kozlov <xeb@mail.ru>
 -L:    netdev@vger.kernel.org
 -S:    Maintained
 -F:    drivers/net/pptp.c
 -W:    http://sourceforge.net/projects/accel-pptp
 -
  THE REST
  M:    Linus Torvalds <torvalds@linux-foundation.org>
  L:    linux-kernel@vger.kernel.org
index d72f1f2b1392eb5c49ba5efd5f3fae06e69b0b3d,2661e4fe935dc1635e445286691d7fb20371c283..437c2d94c45a0b89d782dfee28e8817bcedd481a
@@@ -688,13 -688,6 +688,13 @@@ _ctl_do_mpt_command(struct MPT2SAS_ADAP
                goto out;
        }
  
 +      /* Check for overflow and wraparound */
 +      if (karg.data_sge_offset * 4 > ioc->request_sz ||
 +          karg.data_sge_offset > (UINT_MAX / 4)) {
 +              ret = -EINVAL;
 +              goto out;
 +      }
 +
        /* copy in request message frame from user */
        if (copy_from_user(mpi_request, mf, karg.data_sge_offset*4)) {
                printk(KERN_ERR "failure at %s:%d/%s()!\n", __FILE__, __LINE__,
@@@ -1041,7 -1034,10 +1041,10 @@@ _ctl_getiocinfo(void __user *arg
            __func__));
  
        memset(&karg, 0 , sizeof(karg));
-       karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2;
+       if (ioc->is_warpdrive)
+               karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2_SSS6200;
+       else
+               karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2;
        if (ioc->pfacts)
                karg.port_number = ioc->pfacts[0].PortNumber;
        pci_read_config_byte(ioc->pdev, PCI_CLASS_REVISION, &revision);
@@@ -1970,7 -1966,7 +1973,7 @@@ _ctl_diag_read_buffer(void __user *arg
        Mpi2DiagBufferPostReply_t *mpi_reply;
        int rc, i;
        u8 buffer_type;
 -      unsigned long timeleft;
 +      unsigned long timeleft, request_size, copy_size;
        u16 smid;
        u16 ioc_status;
        u8 issue_reset = 0;
                return -ENOMEM;
        }
  
 +      request_size = ioc->diag_buffer_sz[buffer_type];
 +
        if ((karg.starting_offset % 4) || (karg.bytes_to_read % 4)) {
                printk(MPT2SAS_ERR_FMT "%s: either the starting_offset "
                    "or bytes_to_read are not 4 byte aligned\n", ioc->name,
                return -EINVAL;
        }
  
 +      if (karg.starting_offset > request_size)
 +              return -EINVAL;
 +
        diag_data = (void *)(request_data + karg.starting_offset);
        dctlprintk(ioc, printk(MPT2SAS_INFO_FMT "%s: diag_buffer(%p), "
            "offset(%d), sz(%d)\n", ioc->name, __func__,
            diag_data, karg.starting_offset, karg.bytes_to_read));
  
 +      /* Truncate data on requests that are too large */
 +      if ((diag_data + karg.bytes_to_read < diag_data) ||
 +          (diag_data + karg.bytes_to_read > request_data + request_size))
 +              copy_size = request_size - karg.starting_offset;
 +      else
 +              copy_size = karg.bytes_to_read;
 +
        if (copy_to_user((void __user *)uarg->diagnostic_data,
 -          diag_data, karg.bytes_to_read)) {
 +          diag_data, copy_size)) {
                printk(MPT2SAS_ERR_FMT "%s: Unable to write "
                    "mpt_diag_read_buffer_t data @ %p\n", ioc->name,
                    __func__, diag_data);
index 815069d13f9b57edc5ddaf22dbb223c452d74811,358dff6732ea97f4711d594b1848ae9a701be590..1b214910b71414804f6d0c6dee0932ead1f98156
@@@ -422,8 -422,7 +422,7 @@@ static int fc_host_setup(struct transpo
  
        snprintf(fc_host->work_q_name, sizeof(fc_host->work_q_name),
                 "fc_wq_%d", shost->host_no);
-       fc_host->work_q = create_singlethread_workqueue(
-                                       fc_host->work_q_name);
+       fc_host->work_q = alloc_workqueue(fc_host->work_q_name, 0, 0);
        if (!fc_host->work_q)
                return -ENOMEM;
  
        snprintf(fc_host->devloss_work_q_name,
                 sizeof(fc_host->devloss_work_q_name),
                 "fc_dl_%d", shost->host_no);
-       fc_host->devloss_work_q = create_singlethread_workqueue(
-                                       fc_host->devloss_work_q_name);
+       fc_host->devloss_work_q =
+                       alloc_workqueue(fc_host->devloss_work_q_name, 0, 0);
        if (!fc_host->devloss_work_q) {
                destroy_workqueue(fc_host->work_q);
                fc_host->work_q = NULL;
@@@ -2489,6 -2488,8 +2488,8 @@@ fc_rport_final_delete(struct work_struc
        unsigned long flags;
        int do_callback = 0;
  
+       fc_terminate_rport_io(rport);
        /*
         * if a scan is pending, flush the SCSI Host work_q so that
         * that we can reclaim the rport scan work element.
        if (rport->flags & FC_RPORT_SCAN_PENDING)
                scsi_flush_work(shost);
  
-       fc_terminate_rport_io(rport);
        /*
         * Cancel any outstanding timers. These should really exist
         * only when rmmod'ing the LLDD and we're asking for
@@@ -3816,17 -3815,28 +3815,17 @@@ fail_host_msg
  static void
  fc_bsg_goose_queue(struct fc_rport *rport)
  {
 -      int flagset;
 -      unsigned long flags;
 -
        if (!rport->rqst_q)
                return;
  
 +      /*
 +       * This get/put dance makes no sense
 +       */
        get_device(&rport->dev);
 -
 -      spin_lock_irqsave(rport->rqst_q->queue_lock, flags);
 -      flagset = test_bit(QUEUE_FLAG_REENTER, &rport->rqst_q->queue_flags) &&
 -                !test_bit(QUEUE_FLAG_REENTER, &rport->rqst_q->queue_flags);
 -      if (flagset)
 -              queue_flag_set(QUEUE_FLAG_REENTER, rport->rqst_q);
 -      __blk_run_queue(rport->rqst_q, false);
 -      if (flagset)
 -              queue_flag_clear(QUEUE_FLAG_REENTER, rport->rqst_q);
 -      spin_unlock_irqrestore(rport->rqst_q->queue_lock, flags);
 -
 +      blk_run_queue_async(rport->rqst_q);
        put_device(&rport->dev);
  }
  
 -
  /**
   * fc_bsg_rport_dispatch - process rport bsg requests and dispatch to LLDD
   * @q:                rport request queue