summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS2
-rw-r--r--drivers/base/bus.c22
-rw-r--r--drivers/block/cciss.c3
-rw-r--r--drivers/message/fusion/Kconfig1
-rw-r--r--drivers/message/fusion/Makefile1
-rw-r--r--drivers/message/fusion/lsi/mpi_log_sas.h105
-rw-r--r--drivers/message/fusion/mptbase.c205
-rw-r--r--drivers/message/fusion/mptbase.h36
-rw-r--r--drivers/message/fusion/mptctl.c8
-rw-r--r--drivers/message/fusion/mptfc.c39
-rw-r--r--drivers/message/fusion/mptlan.c5
-rw-r--r--drivers/message/fusion/mptsas.c818
-rw-r--r--drivers/message/fusion/mptscsih.c2486
-rw-r--r--drivers/message/fusion/mptscsih.h12
-rw-r--r--drivers/message/fusion/mptspi.c735
-rw-r--r--drivers/message/i2o/exec-osm.c21
-rw-r--r--drivers/scsi/3w-9xxx.c138
-rw-r--r--drivers/scsi/3w-9xxx.h18
-rw-r--r--drivers/scsi/53c700.c18
-rw-r--r--drivers/scsi/FlashPoint.c9811
-rw-r--r--drivers/scsi/NCR_D700.c2
-rw-r--r--drivers/scsi/aacraid/aacraid.h5
-rw-r--r--drivers/scsi/aacraid/comminit.c1
-rw-r--r--drivers/scsi/aacraid/commsup.c14
-rw-r--r--drivers/scsi/aacraid/linit.c14
-rw-r--r--drivers/scsi/aha152x.c7
-rw-r--r--drivers/scsi/ahci.c1
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_core.c33
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.c561
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.h7
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_core.c24
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.c45
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.h5
-rw-r--r--drivers/scsi/ata_piix.c1
-rw-r--r--drivers/scsi/ch.c1
-rw-r--r--drivers/scsi/dmx3191d.c2
-rw-r--r--drivers/scsi/hosts.c3
-rw-r--r--drivers/scsi/ibmmca.c3
-rw-r--r--drivers/scsi/ipr.c109
-rw-r--r--drivers/scsi/ips.c2
-rw-r--r--drivers/scsi/jazz_esp.c19
-rw-r--r--drivers/scsi/libata-core.c3
-rw-r--r--drivers/scsi/libata-scsi.c10
-rw-r--r--drivers/scsi/libata.h2
-rw-r--r--drivers/scsi/lpfc/lpfc.h43
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c164
-rw-r--r--drivers/scsi/lpfc/lpfc_crtn.h37
-rw-r--r--drivers/scsi/lpfc/lpfc_ct.c74
-rw-r--r--drivers/scsi/lpfc/lpfc_disc.h19
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c1012
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c575
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h65
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c265
-rw-r--r--drivers/scsi/lpfc/lpfc_mbox.c33
-rw-r--r--drivers/scsi/lpfc/lpfc_nportdisc.c391
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c25
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.h5
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c470
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.h5
-rw-r--r--drivers/scsi/lpfc/lpfc_version.h6
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c26
-rw-r--r--drivers/scsi/ncr53c8xx.c127
-rw-r--r--drivers/scsi/ncr53c8xx.h37
-rw-r--r--drivers/scsi/osst.c528
-rw-r--r--drivers/scsi/osst.h12
-rw-r--r--drivers/scsi/pdc_adma.c1
-rw-r--r--drivers/scsi/qla2xxx/Kconfig31
-rw-r--r--drivers/scsi/qla2xxx/Makefile2
-rw-r--r--drivers/scsi/qla2xxx/ql2300.c12
-rw-r--r--drivers/scsi/qla2xxx/ql2300_fw.c14624
-rw-r--r--drivers/scsi/qla2xxx/ql2322.c12
-rw-r--r--drivers/scsi/qla2xxx/ql2322_fw.c14135
-rw-r--r--drivers/scsi/qla2xxx/ql2400.c27
-rw-r--r--drivers/scsi/qla2xxx/ql2400_fw.c20826
-rw-r--r--drivers/scsi/qla2xxx/ql6312.c101
-rw-r--r--drivers/scsi/qla2xxx/ql6312_fw.c7078
-rw-r--r--drivers/scsi/qla2xxx/qla_attr.c82
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h126
-rw-r--r--drivers/scsi/qla2xxx/qla_devtbl.h219
-rw-r--r--drivers/scsi/qla2xxx/qla_fw.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h7
-rw-r--r--drivers/scsi/qla2xxx/qla_gs.c10
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c39
-rw-r--r--drivers/scsi/qla2xxx/qla_inline.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_iocb.c6
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c23
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c63
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c165
-rw-r--r--drivers/scsi/qla2xxx/qla_sup.c9
-rw-r--r--drivers/scsi/sata_mv.c1
-rw-r--r--drivers/scsi/sata_nv.c1
-rw-r--r--drivers/scsi/sata_promise.c1
-rw-r--r--drivers/scsi/sata_qstor.c1
-rw-r--r--drivers/scsi/sata_sil.c1
-rw-r--r--drivers/scsi/sata_sil24.c1
-rw-r--r--drivers/scsi/sata_sis.c1
-rw-r--r--drivers/scsi/sata_svw.c1
-rw-r--r--drivers/scsi/sata_sx4.c1
-rw-r--r--drivers/scsi/sata_uli.c1
-rw-r--r--drivers/scsi/sata_via.c1
-rw-r--r--drivers/scsi/sata_vsc.c1
-rw-r--r--drivers/scsi/scsi.c6
-rw-r--r--drivers/scsi/scsi_debug.c9
-rw-r--r--drivers/scsi/scsi_error.c9
-rw-r--r--drivers/scsi/scsi_ioctl.c3
-rw-r--r--drivers/scsi/scsi_lib.c157
-rw-r--r--drivers/scsi/scsi_scan.c106
-rw-r--r--drivers/scsi/scsi_sysfs.c4
-rw-r--r--drivers/scsi/scsi_transport_fc.c46
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c3
-rw-r--r--drivers/scsi/scsi_transport_sas.c412
-rw-r--r--drivers/scsi/scsi_transport_spi.c109
-rw-r--r--drivers/scsi/sd.c172
-rw-r--r--drivers/scsi/sg.c18
-rw-r--r--drivers/scsi/sgiwd93.c4
-rw-r--r--drivers/scsi/sim710.c2
-rw-r--r--drivers/scsi/sr.c9
-rw-r--r--drivers/scsi/st.c32
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_hipd.c53
-rw-r--r--drivers/scsi/wd33c93.c2
-rw-r--r--include/linux/device.h1
-rw-r--r--include/linux/libata.h1
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/workqueue.h6
-rw-r--r--include/scsi/scsi.h2
-rw-r--r--include/scsi/scsi_cmnd.h20
-rw-r--r--include/scsi/scsi_device.h26
-rw-r--r--include/scsi/scsi_host.h14
-rw-r--r--include/scsi/scsi_transport.h11
-rw-r--r--include/scsi/scsi_transport_sas.h50
-rw-r--r--include/scsi/scsi_transport_spi.h4
-rw-r--r--kernel/workqueue.c29
132 files changed, 35515 insertions, 42698 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index ebef0ae90e2e..dd1351dc32b8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2145,7 +2145,7 @@ S: Maintained
QLOGIC QLA2XXX FC-SCSI DRIVER
P: Andrew Vasquez
-M: andrew.vasquez@qlogic.com
+M: linux-driver@qlogic.com
L: linux-scsi@vger.kernel.org
S: Supported
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index c3141565d59d..48718b7f4fa0 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -536,6 +536,28 @@ void bus_rescan_devices(struct bus_type * bus)
bus_for_each_dev(bus, NULL, NULL, bus_rescan_devices_helper);
}
+/**
+ * device_reprobe - remove driver for a device and probe for a new driver
+ * @dev: the device to reprobe
+ *
+ * This function detaches the attached driver (if any) for the given
+ * device and restarts the driver probing process. It is intended
+ * to use if probing criteria changed during a devices lifetime and
+ * driver attachment should change accordingly.
+ */
+void device_reprobe(struct device *dev)
+{
+ if (dev->driver) {
+ if (dev->parent) /* Needed for USB */
+ down(&dev->parent->sem);
+ device_release_driver(dev);
+ if (dev->parent)
+ up(&dev->parent->sem);
+ }
+
+ bus_rescan_devices_helper(dev, NULL);
+}
+EXPORT_SYMBOL_GPL(device_reprobe);
struct bus_type * get_bus(struct bus_type * bus)
{
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 0d65394707db..b9c786ee6fad 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3251,8 +3251,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
clean4:
#ifdef CONFIG_CISS_SCSI_TAPE
- if(hba[i]->scsi_rejects.complete)
- kfree(hba[i]->scsi_rejects.complete);
+ kfree(hba[i]->scsi_rejects.complete);
#endif
kfree(hba[i]->cmd_pool_bits);
if(hba[i]->cmd_pool)
diff --git a/drivers/message/fusion/Kconfig b/drivers/message/fusion/Kconfig
index e67cf15e9c39..bbc229852881 100644
--- a/drivers/message/fusion/Kconfig
+++ b/drivers/message/fusion/Kconfig
@@ -9,6 +9,7 @@ config FUSION_SPI
tristate "Fusion MPT ScsiHost drivers for SPI"
depends on PCI && SCSI
select FUSION
+ select SCSI_SPI_ATTRS
---help---
SCSI HOST support for a parallel SCSI host adapters.
diff --git a/drivers/message/fusion/Makefile b/drivers/message/fusion/Makefile
index 33ace373241c..51740b346224 100644
--- a/drivers/message/fusion/Makefile
+++ b/drivers/message/fusion/Makefile
@@ -4,6 +4,7 @@
#EXTRA_CFLAGS += -DMPT_DEBUG_MSG_FRAME
#EXTRA_CFLAGS += -DMPT_DEBUG_SG
#EXTRA_CFLAGS += -DMPT_DEBUG_EVENTS
+#EXTRA_CFLAGS += -DMPT_DEBUG_VERBOSE_EVENTS
#EXTRA_CFLAGS += -DMPT_DEBUG_INIT
#EXTRA_CFLAGS += -DMPT_DEBUG_EXIT
#EXTRA_CFLAGS += -DMPT_DEBUG_FAIL
diff --git a/drivers/message/fusion/lsi/mpi_log_sas.h b/drivers/message/fusion/lsi/mpi_log_sas.h
index 9259d1ad6e6e..a9c14ad132ce 100644
--- a/drivers/message/fusion/lsi/mpi_log_sas.h
+++ b/drivers/message/fusion/lsi/mpi_log_sas.h
@@ -3,38 +3,11 @@
* *
* Copyright 2003 LSI Logic Corporation. All rights reserved. *
* *
- * This file is confidential and a trade secret of LSI Logic. The *
- * receipt of or possession of this file does not convey any rights to *
- * reproduce or disclose its contents or to manufacture, use, or sell *
- * anything it may describe, in whole, or in part, without the specific *
- * written consent of LSI Logic Corporation. *
+ * Description *
+ * ------------ *
+ * This include file contains SAS firmware interfac