Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 11 Oct 2009 18:12:33 +0000 (11:12 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 11 Oct 2009 18:12:33 +0000 (11:12 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (34 commits)
  [SCSI] qla2xxx: Fix NULL ptr deref bug in fail path during queue create
  [SCSI] st: fix possible memory use after free after MTSETBLK ioctl
  [SCSI] be2iscsi: Moving to pci_pools v3
  [SCSI] libiscsi: iscsi_session_setup to allow for private space
  [SCSI] be2iscsi: add 10Gbps iSCSI - BladeEngine 2 driver
  [SCSI] zfcp: Fix hang when offlining device with offline chpid
  [SCSI] zfcp: Fix lockdep warning when offlining device with offline chpid
  [SCSI] zfcp: Fix oops during shutdown of offline device
  [SCSI] zfcp: Fix initial device and cfdc for delayed adapter allocation
  [SCSI] zfcp: correctly initialize unchained requests
  [SCSI] mpt2sas: Bump version 02.100.03.00
  [SCSI] mpt2sas: Support dev remove when phy status is MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT
  [SCSI] mpt2sas: Timeout occurred within the HANDSHAKE logic while waiting on firmware to ACK.
  [SCSI] mpt2sas: Call init_completion on a per request basis.
  [SCSI] mpt2sas: Target Reset will be issued from Interrupt context.
  [SCSI] mpt2sas: Added SCSIIO, Internal and high priority memory pools to support multiple TM
  [SCSI] mpt2sas: Copyright change to 2009.
  [SCSI] mpt2sas: Added mpi2_history.txt for MPI2 headers.
  [SCSI] mpt2sas: Update driver to MPI2 REV K headers.
  [SCSI] bfa: Brocade BFA FC SCSI driver
  ...

1  2 
MAINTAINERS
drivers/scsi/sg.c

diff --combined MAINTAINERS
@@@ -257,13 -257,6 +257,13 @@@ W:       http://www.lesswatts.org/projects/ac
  S:    Supported
  F:    drivers/acpi/fan.c
  
 +ACPI PROCESSOR AGGREGATOR DRIVER
 +M:    Shaohua Li <shaohua.li@intel.com>
 +L:    linux-acpi@vger.kernel.org
 +W:    http://www.lesswatts.org/projects/acpi/
 +S:    Supported
 +F:    drivers/acpi/acpi_pad.c
 +
  ACPI THERMAL DRIVER
  M:    Zhang Rui <rui.zhang@intel.com>
  L:    linux-acpi@vger.kernel.org
@@@ -653,24 -646,24 +653,24 @@@ ARM/INTEL IOP32X ARM ARCHITECTUR
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 +S:    Maintained
  
  ARM/INTEL IOP33X ARM ARCHITECTURE
  M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 +S:    Maintained
  
  ARM/INTEL IOP13XX ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 +S:    Maintained
  
  ARM/INTEL IQ81342EX MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 +S:    Maintained
  
  ARM/INTEL IXP2000 ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -698,7 -691,7 +698,7 @@@ ARM/INTEL XSC3 (MANZANO) ARM COR
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 +S:    Maintained
  
  ARM/IP FABRICS DOUBLE ESPRESSO MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -748,36 -741,23 +748,36 @@@ M:      Dirk Opfer <dirk@opfer-online.de
  S:    Maintained
  
  ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
 -P:    Marek Vasut
 -M:    marek.vasut@gmail.com
 +M:    Marek Vasut <marek.vasut@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
 +F:    arch/arm/mach-pxa/include/mach/palmtx.h
 +F:    arch/arm/mach-pxa/palmtx.c
 +F:    arch/arm/mach-pxa/include/mach/palmt5.h
 +F:    arch/arm/mach-pxa/palmt5.c
 +F:    arch/arm/mach-pxa/include/mach/palmld.h
 +F:    arch/arm/mach-pxa/palmld.c
 +F:    arch/arm/mach-pxa/include/mach/palmte2.h
 +F:    arch/arm/mach-pxa/palmte2.c
 +F:    arch/arm/mach-pxa/include/mach/palmtc.h
 +F:    arch/arm/mach-pxa/palmtc.c
  
  ARM/PALM TREO 680 SUPPORT
  M:    Tomas Cech <sleep_walker@suse.cz>
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
 +F:    arch/arm/mach-pxa/include/mach/treo680.h
 +F:    arch/arm/mach-pxa/treo680.c
  
  ARM/PALMZ72 SUPPORT
  M:    Sergey Lapin <slapin@ossfans.org>
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
 +F:    arch/arm/mach-pxa/include/mach/palmz72.h
 +F:    arch/arm/mach-pxa/palmz72.c
  
  ARM/PLEB SUPPORT
  M:    Peter Chubb <pleb@gelato.unsw.edu.au>
@@@ -1231,6 -1211,13 +1231,13 @@@ L:    netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/tg3.*
  
+ BROCADE BFA FC SCSI DRIVER
+ P:      Jing Huang
+ M:      huangj@brocade.com
+ L:      linux-scsi@vger.kernel.org
+ S:      Supported
+ F:      drivers/scsi/bfa/
  BSG (block layer generic sg v4 driver)
  M:    FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
  L:    linux-scsi@vger.kernel.org
@@@ -2702,7 -2689,7 +2709,7 @@@ F:      include/linux/intel-iommu.
  
  INTEL IOP-ADMA DMA DRIVER
  M:    Dan Williams <dan.j.williams@intel.com>
 -S:    Supported
 +S:    Maintained
  F:    drivers/dma/iop-adma.c
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
@@@ -3643,13 -3630,6 +3650,13 @@@ F:    Documentation/blockdev/nbd.tx
  F:    drivers/block/nbd.c
  F:    include/linux/nbd.h
  
 +NETWORK DROP MONITOR
 +M:    Neil Horman <nhorman@tuxdriver.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +W:    https://fedorahosted.org/dropwatch/
 +F:    net/core/drop_monitor.c
 +
  NETWORKING [GENERAL]
  M:    "David S. Miller" <davem@davemloft.net>
  L:    netdev@vger.kernel.org
@@@ -3980,7 -3960,6 +3987,7 @@@ F:      drivers/block/paride
  PARISC ARCHITECTURE
  M:    Kyle McMartin <kyle@mcmartin.ca>
  M:    Helge Deller <deller@gmx.de>
 +M:    "James E.J. Bottomley" <jejb@parisc-linux.org>
  L:    linux-parisc@vger.kernel.org
  W:    http://www.parisc-linux.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
@@@ -4646,6 -4625,14 +4653,14 @@@ F:    drivers/ata
  F:    include/linux/ata.h
  F:    include/linux/libata.h
  
+ SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
+ P:     Jayamohan Kallickal
+ M:     jayamohank@serverengines.com
+ L:     linux-scsi@vger.kernel.org
+ W:     http://www.serverengines.com
+ S:     Supported
+ F:     drivers/scsi/be2iscsi/
  SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
  M:    Sathya Perla <sathyap@serverengines.com>
  M:    Subbu Seetharaman <subbus@serverengines.com>
diff --combined drivers/scsi/sg.c
@@@ -1317,7 -1317,7 +1317,7 @@@ static void sg_rq_end_io(struct reques
        }
  }
  
 -static struct file_operations sg_fops = {
 +static const struct file_operations sg_fops = {
        .owner = THIS_MODULE,
        .read = sg_read,
        .write = sg_write,
@@@ -1708,11 -1708,6 +1708,6 @@@ static int sg_finish_rem_req(Sg_reques
        Sg_scatter_hold *req_schp = &srp->data;
  
        SCSI_LOG_TIMEOUT(4, printk("sg_finish_rem_req: res_used=%d\n", (int) srp->res_used));
-       if (srp->res_used)
-               sg_unlink_reserve(sfp, srp);
-       else
-               sg_remove_scat(req_schp);
        if (srp->rq) {
                if (srp->bio)
                        ret = blk_rq_unmap_user(srp->bio);
                blk_put_request(srp->rq);
        }
  
+       if (srp->res_used)
+               sg_unlink_reserve(sfp, srp);
+       else
+               sg_remove_scat(req_schp);
        sg_remove_request(sfp, srp);
  
        return ret;
@@@ -2194,11 -2194,9 +2194,11 @@@ static int sg_proc_seq_show_int(struct 
  static int sg_proc_single_open_adio(struct inode *inode, struct file *file);
  static ssize_t sg_proc_write_adio(struct file *filp, const char __user *buffer,
                                  size_t count, loff_t *off);
 -static struct file_operations adio_fops = {
 -      /* .owner, .read and .llseek added in sg_proc_init() */
 +static const struct file_operations adio_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_single_open_adio,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .write = sg_proc_write_adio,
        .release = single_release,
  };
  static int sg_proc_single_open_dressz(struct inode *inode, struct file *file);
  static ssize_t sg_proc_write_dressz(struct file *filp, 
                const char __user *buffer, size_t count, loff_t *off);
 -static struct file_operations dressz_fops = {
 +static const struct file_operations dressz_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_single_open_dressz,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .write = sg_proc_write_dressz,
        .release = single_release,
  };
  
  static int sg_proc_seq_show_version(struct seq_file *s, void *v);
  static int sg_proc_single_open_version(struct inode *inode, struct file *file);
 -static struct file_operations version_fops = {
 +static const struct file_operations version_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_single_open_version,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .release = single_release,
  };
  
  static int sg_proc_seq_show_devhdr(struct seq_file *s, void *v);
  static int sg_proc_single_open_devhdr(struct inode *inode, struct file *file);
 -static struct file_operations devhdr_fops = {
 +static const struct file_operations devhdr_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_single_open_devhdr,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .release = single_release,
  };
  
@@@ -2240,11 -2229,8 +2240,11 @@@ static int sg_proc_open_dev(struct inod
  static void * dev_seq_start(struct seq_file *s, loff_t *pos);
  static void * dev_seq_next(struct seq_file *s, void *v, loff_t *pos);
  static void dev_seq_stop(struct seq_file *s, void *v);
 -static struct file_operations dev_fops = {
 +static const struct file_operations dev_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_open_dev,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .release = seq_release,
  };
  static const struct seq_operations dev_seq_ops = {
  
  static int sg_proc_seq_show_devstrs(struct seq_file *s, void *v);
  static int sg_proc_open_devstrs(struct inode *inode, struct file *file);
 -static struct file_operations devstrs_fops = {
 +static const struct file_operations devstrs_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_open_devstrs,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .release = seq_release,
  };
  static const struct seq_operations devstrs_seq_ops = {
  
  static int sg_proc_seq_show_debug(struct seq_file *s, void *v);
  static int sg_proc_open_debug(struct inode *inode, struct file *file);
 -static struct file_operations debug_fops = {
 +static const struct file_operations debug_fops = {
 +      .owner = THIS_MODULE,
        .open = sg_proc_open_debug,
 +      .read = seq_read,
 +      .llseek = seq_lseek,
        .release = seq_release,
  };
  static const struct seq_operations debug_seq_ops = {
  
  struct sg_proc_leaf {
        const char * name;
 -      struct file_operations * fops;
 +      const struct file_operations * fops;
  };
  
  static struct sg_proc_leaf sg_proc_leaf_arr[] = {
@@@ -2315,6 -2295,9 +2315,6 @@@ sg_proc_init(void
        for (k = 0; k < num_leaves; ++k) {
                leaf = &sg_proc_leaf_arr[k];
                mask = leaf->fops->write ? S_IRUGO | S_IWUSR : S_IRUGO;
 -              leaf->fops->owner = THIS_MODULE;
 -              leaf->fops->read = seq_read;
 -              leaf->fops->llseek = seq_lseek;
                proc_create(leaf->name, mask, sg_proc_sgp, leaf->fops);
        }
        return 0;