The patch contains the usual assortment of driver updates (lpfc, qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge amount of infrastructure work in the SAS library and transport class as well as an iSCSI update. There's also a new SCSI based virtio driver. The patch is available here: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git scsi-misc The short changelog is Akinobu Mita (1): hpsa: use find_first_zero_bit Andrew Morton (1): mpt2sas: spell "primitive" correctly in function prototype Andrew Vasquez (6): qla2xxx: Cache swl during fabric discovery. qla2xxx: Reduce mbx-command timeout for Login/Logout requests. qla2xxx: Prep zero-length BSG data-transfer requests. qla2xxx: Perform implicit logout during rport tear-down. qla2xxx: Use consistent DL mask for ELS/CT passthru requests. qla2xxx: Use a valid enode-mac if none defined. Andrzej Jakowski (1): isci: improvements in driver unloading routine Arun Easi (8): qla2xxx: Avoid invalid request queue dereference for bad response packets. qla2xxx: Stop iteration after first failure in *_id functions. qla2xxx: Fix incorrect register access in qla2x00_start_iocbs(). qla2xxx: Handle device mapping changes due to device logout. qla2xxx: Log messages to use correct vha. qla2xxx: Add new message when a new loopid is assigned. qla2xxx: Fix ql_dbg arguments. qla2xxx: Handle change notifications based on switch scan results. Bhanu Prakash Gollapudi (6): libfc: Handle discovery failure during ctlr link down libfc: Fix panic in fc_exch_recv bnx2fc: Bumped version to 1.0.10 bnx2fc: NPIV ports go offline when interface is brought down & up bnx2fc: Handle LOGO flooding from the target bnx2fc: fix panic in bnx2fc_post_io_req Chad Dupuis (8): qla2xxx: Add ha->max_fibre_devices to keep track of the maximum number of targets. qla2xxx: Update LICENSE.qla2xxx. qla2xxx: Perform firmware dump procedure on mailbox command timeout. qla2xxx: Use ql_log* #define's in ql_log() and ql_log_pci(). qla2xxx: Convert remaining printk's to ql_log format. qla2xxx: Print mailbox command opcode and return code when a command times out. qla2xxx: Handle failure cases during fabric_login qla2xxx: Increase speed of flash access in ISP82xx adapters to improve firmware load speed. Dan Carpenter (1): qla2xxx: handle default case in qla2x00_request_firmware() Dan Williams (54): isci: improve phy event warnings isci: debug, provide state-enum-to-string conversions scsi_transport_sas: 'enable' phys on reset libsas: don't recover end devices attached to disabled phys libsas: fixup target_port_protocols for expanders that don't report sata libsas: set attached device type and target protocols for local phys libsas: revert ata srst libsas: fix lifetime of SAS_HA_FROZEN libsas: async ata scanning libsas: restore scan order libsas: delete device on sas address changed libsas: let libata recover links that fail to transmit initial sig-fis libsas: fix sas port naming libsas: improve debug statements libsas: fix sas_unregister_ports vs sas_drain_work libsas: route local link resets through ata-eh libsas: fix mixed topology recovery libsas: close scsi_remove_target() vs libata-eh race libsas: mark all domain devices gone if root port disappears libsas: pre-clean commands that won the eh vs completion race isci: remove IDEV_EH hack to disable "discovery-time" ata resets isci: remove bus and reset handlers isci: ->lldd_ata_check_ready handler isci: stop interpreting ->lldd_lu_reset() as an ata soft-reset isci: fix interpretation of "hard" reset isci: kill isci_port->status isci: kill iphy->isci_port lookups libsas: don't recover 'gone' devices in sas_ata_hard_reset() libsas: fix sas_find_local_phy(), take phy references libsas: check for 'gone' expanders in smp_execute_task() libsas: don't mark expanders as gone when a child device is removed libsas: poll for ata device readiness after reset libsas: async ata-eh libsas: sas_phy_enable via transport_sas_phy_reset libsas: execute transport link resets with libata-eh via host workqueue libsas: perform sas-transport resets in shost->workq context libsas: use libata-eh-reset for sata rediscovery fis transmit failures libsas: defer SAS_TASK_NEED_DEV_RESET commands to libata libsas: let libata handle command timeouts libsas: fix timeout vs completion race libsas: prevent double completion of scmds from eh libsas: close error handling vs sas_ata_task_done() race libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done libsas: use ->set_dmamode to notify lldds of NCQ parameters libsas: prevent domain rediscovery competing with ata error handling libsas: convert dev->gone to flags libsas: remove ata_port.lock management duties from lldds libsas: introduce sas_drain_work() libsas: convert ha->state to flags libsas: replace event locks with atomic bitops libsas: fix leak of dev->sata_dev.identify_[packet_]device libsas: fix domain_device leak libsas: kill sas_slave_destroy libsas: remove unused ata_task_resp fields Dave Jiang (1): isci: T10 DIF support Douglas Gilbert (1): scsi_debug: GET LBA STATUS response length correction Eddie Wai (1): bnx2i: Fixed the override of the error_mask module param Eric Dumazet (1): bnx2i: use kthread_create_on_node() Giridhar Malavali (4): qla2xxx: Change the log message when previous dump is available to retrieve for ISP82xx. qla2xxx: Consolidation of SRB processing. qla2xxx: Enhancements to support ISP83xx. qla2xxx: Enhanced the dump routines to capture multiple request and response queues. James Smart (7): lpfc 8.3.29: Update driver version to 8.3.29 lpfc 8.3.29: Remove GFP_KERNEL allocation while lock is held lpfc 8.3.29: Locking fix and Memory leak Fixes lpfc 8.3.29: FC Discovery state machine fixes lpfc 8.3.29: T10 Diff fixes and enhancements lpfc 8.3.29: SLI related fixes lpfc 8.3.29: BSG and User interface fixes Jeff Skirvin (2): libsas: add mutex for SMP task execution libsas: Remove redundant phy state notification calls. Jesper Juhl (1): bfa: don't leak mem in bfad_im_bsg_els_ct_request() Jing Huang (1): bfa: add readme file Joe Carnuccio (3): qla2xxx: Remove EDC sysfs interface. qla2xxx: Return blank sysfs string on initial get thermal failure. qla2xxx: Correct print format for edc ql_log() calls. Lalit Chandivade (3): qla4xxx: Remove un-necessary print statment qla4xxx: Fix verify boot idx correctly qla4xxx: Fix un-necessary delay on invalid DDB Maciej Trela (1): libsas: kill spurious sas_put_device Mahesh Rajashekhara (1): aacraid: Added Sync.mode to support series 7/8/9 controllers Manish Rangankar (2): qla4xxx: Add support for multiple session per host. qla4xxx: Modified debug log messages for boot info. Marcin Tomczak (1): isci: enable clock gating Mark Salyzyn (3): pm8001: deficient responses to IO_XFER_ERROR_BREAK and IO_XFER_OPEN_RETRY_TIMEOUT pm8001: Add FUNC_GET_EVENTS pm8001: fix lockup on phy_control hard reset. Martin K. Petersen (3): Handle disk devices which can not process medium access commands sd: Make sure provisioning mode is reported correctly Ensure discard failure gets treated as a target problem Mike Christie (5): qla4xxx: Export CHAP index as sysfs attribute scsi_transport: Export CHAP index as sysfs attribute libiscsi: fix cmd timeout/completion race libiscsi_tcp: fix max_r2t manipulation iscsi: fix setting of pid from netlink skb Mike Snitzer (1): scsi_error: classify some ILLEGAL_REQUEST sense as a permanent TARGET_ERROR Moger, Babu (2): fix the new host byte settings (DID_TARGET_FAILURE and DID_NEXUS_FAILURE) Correctly set the scsi host/msg/status bytes Neerav Parikh (7): fcoe: Allow exposing FDMI attributes via sysfs fcoe: Allow exposing FDMI attributes via sysfs fcoe: Add support for FDMI in fcoe libfc: Add support for FDMI libfc: Make the libfc Common Transport(CT) code generic scsi_transport_fc: Getting FC Port Speed in sync with FC-GS scsi_transport_fc: Add FDMI host attributes Nilesh Javali (2): qla4xxx: Add support to display CHAP list and delete CHAP entry iscsi_transport: Add support to display CHAP list and delete CHAP entry Oliver Neukum (1): st: implement PM Paolo Bonzini (1): virtio-scsi: SCSI driver for QEMU based virtual machines Robert Love (4): fcoe: Remove reference counting on 'stuct fcoe_interface' fcoe: Do not switch context in vport_delete callback fcoe: Rename out_nomod label to out_putmod libfcoe: Don't KERN_ERR on netdev notification Santosh Nayak (3): pm8001: fix endian issue with code optimization. pm8001: Fix possible racing condition. pm8001: Fix bogus interrupt state flag issue. Sasha Levin (1): iscsi: don't hang in endless loop if no targets present Scott Teel (3): hpsa: update device attributes when they change hpsa: improve naming on external target device functions hpsa: eliminate 8 external target limitation Stephen M. Cameron (7): hpsa: refactor hpsa_figure_bus_target_lun hpsa: make target and lun match what SCSI REPORT LUNs returns hpsa: Fix problem with MSA2xxx devices hpsa: factor out driver name hpsa: combine hpsa_scsi_detect and hpsa_register_scsi hpsa: removed unneeded structure member max_sg_entries and fix badly named constant MAXSGENTRIES hpsa: fix per device memory leak on driver unload Tomas Henzl (2): hpsa: add some older controllers to the kdump blacklist mpt2sas: add missing allocation check Vikas Chaudhary (15): qla4xxx: Update driver version to 5.02.00-k15 qla4xxx: trivial cleanup qla4xxx: Fix sparse warning qla4xxx: Update driver version to 5.02.00-k14 qla4xxx: Added ping support iscsi_transport: Added Ping support qla4xxx: added support for host event scsi_transport_iscsi: added support for host event qla4xxx: Proper detection of firmware abort error code for ISP82xx qla4xxx: Remove unused code qla4xxx: Update driver version to 5.02.00-k13 qla4xxx: Added support to show port_state and port_speed in sysfs scsi_transport_iscsi: Added support to show port_state and port_speed in sysfs qla4xxx: Added support to show targetalias in sysfs libiscsi: Added support to show targetalias in sysfs Wayne Boyer (1): ipr: update PCI ID definitions for new adapters and the diffstat: Documentation/scsi/LICENSE.qla2xxx | 41 +- Documentation/scsi/bfa.txt | 82 +++ Documentation/scsi/libsas.txt | 15 - drivers/ata/libata-core.c | 34 +- drivers/ata/libata-eh.c | 1 + drivers/ata/libata-scsi.c | 13 + drivers/ata/libata.h | 2 +- drivers/scsi/Kconfig | 8 + drivers/scsi/Makefile | 1 + drivers/scsi/aacraid/aachba.c | 4 + drivers/scsi/aacraid/aacraid.h | 27 +- drivers/scsi/aacraid/comminit.c | 21 +- drivers/scsi/aacraid/commsup.c | 26 + drivers/scsi/aacraid/linit.c | 28 +- drivers/scsi/aacraid/rx.c | 1 + drivers/scsi/aacraid/sa.c | 1 + drivers/scsi/aacraid/src.c | 293 ++++++-- drivers/scsi/aic94xx/aic94xx.h | 2 + drivers/scsi/aic94xx/aic94xx_dev.c | 38 +- drivers/scsi/aic94xx/aic94xx_init.c | 6 +- drivers/scsi/aic94xx/aic94xx_tmf.c | 11 +- drivers/scsi/bfa/bfad_bsg.c | 4 +- drivers/scsi/bnx2fc/bnx2fc.h | 8 +- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 20 +- drivers/scsi/bnx2i/bnx2i_hwi.c | 12 +- drivers/scsi/bnx2i/bnx2i_init.c | 9 +- drivers/scsi/cxgbi/libcxgbi.c | 13 +- drivers/scsi/fcoe/fcoe.c | 167 +++-- drivers/scsi/fcoe/fcoe.h | 3 - drivers/scsi/fcoe/fcoe_transport.c | 4 +- drivers/scsi/hpsa.c | 344 ++++----- drivers/scsi/hpsa.h | 3 +- drivers/scsi/hpsa_cmd.h | 9 +- drivers/scsi/ipr.c | 14 +- drivers/scsi/ipr.h | 4 +- drivers/scsi/isci/host.c | 17 +- drivers/scsi/isci/host.h | 19 +- drivers/scsi/isci/init.c | 24 +- drivers/scsi/isci/phy.c | 171 +++-- drivers/scsi/isci/phy.h | 155 ++-- drivers/scsi/isci/port.c | 263 +++---- drivers/scsi/isci/port.h | 114 ++- drivers/scsi/isci/registers.h | 27 +- drivers/scsi/isci/remote_device.c | 82 +-- drivers/scsi/isci/remote_device.h | 212 +++--- drivers/scsi/isci/remote_node_context.c | 19 +- drivers/scsi/isci/remote_node_context.h | 97 ++- drivers/scsi/isci/request.c | 370 +++++----- drivers/scsi/isci/request.h | 228 +++--- drivers/scsi/isci/scu_task_context.h | 55 +- drivers/scsi/isci/task.c | 158 +---- drivers/scsi/isci/task.h | 40 -- drivers/scsi/iscsi_tcp.c | 13 +- drivers/scsi/libfc/fc_disc.c | 7 + drivers/scsi/libfc/fc_elsct.c | 3 +- drivers/scsi/libfc/fc_exch.c | 7 +- drivers/scsi/libfc/fc_lport.c | 227 +++++- drivers/scsi/libiscsi.c | 28 +- drivers/scsi/libiscsi_tcp.c | 18 + drivers/scsi/libsas/sas_ata.c | 828 +++++++++++----------- drivers/scsi/libsas/sas_discover.c | 246 +++++-- drivers/scsi/libsas/sas_event.c | 96 ++- drivers/scsi/libsas/sas_expander.c | 342 ++++++--- drivers/scsi/libsas/sas_host_smp.c | 11 +- drivers/scsi/libsas/sas_init.c | 214 +++++- drivers/scsi/libsas/sas_internal.h | 97 ++- drivers/scsi/libsas/sas_phy.c | 12 +- drivers/scsi/libsas/sas_port.c | 32 +- drivers/scsi/libsas/sas_scsi_host.c | 364 ++++------ drivers/scsi/lpfc/lpfc.h | 13 +- drivers/scsi/lpfc/lpfc_attr.c | 12 +- drivers/scsi/lpfc/lpfc_bsg.c | 18 +- drivers/scsi/lpfc/lpfc_crtn.h | 1 + drivers/scsi/lpfc/lpfc_ct.c | 4 +- drivers/scsi/lpfc/lpfc_debugfs.c | 19 + drivers/scsi/lpfc/lpfc_els.c | 5 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 12 +- drivers/scsi/lpfc/lpfc_hw.h | 5 +- drivers/scsi/lpfc/lpfc_hw4.h | 49 +- drivers/scsi/lpfc/lpfc_init.c | 137 +++- drivers/scsi/lpfc/lpfc_nportdisc.c | 77 +- drivers/scsi/lpfc/lpfc_scsi.c | 1178 ++++++++++++++++++++++++++----- drivers/scsi/lpfc/lpfc_sli.c | 240 ++++--- drivers/scsi/lpfc/lpfc_sli.h | 1 + drivers/scsi/lpfc/lpfc_sli4.h | 3 +- drivers/scsi/lpfc/lpfc_version.h | 2 +- drivers/scsi/mpt2sas/mpt2sas_base.c | 5 + drivers/scsi/mpt2sas/mpt2sas_scsih.c | 6 +- drivers/scsi/mvsas/mv_init.c | 2 - drivers/scsi/mvsas/mv_sas.c | 11 +- drivers/scsi/pm8001/pm8001_chips.h | 4 +- drivers/scsi/pm8001/pm8001_hwi.c | 434 +++++++++--- drivers/scsi/pm8001/pm8001_hwi.h | 2 +- drivers/scsi/pm8001/pm8001_init.c | 2 - drivers/scsi/pm8001/pm8001_sas.c | 127 +++- drivers/scsi/pm8001/pm8001_sas.h | 6 + drivers/scsi/qla2xxx/qla_attr.c | 177 +---- drivers/scsi/qla2xxx/qla_bsg.c | 120 ++-- drivers/scsi/qla2xxx/qla_dbg.c | 630 ++++++++++++++++- drivers/scsi/qla2xxx/qla_dbg.h | 63 ++ drivers/scsi/qla2xxx/qla_def.h | 117 +-- drivers/scsi/qla2xxx/qla_dfs.c | 2 +- drivers/scsi/qla2xxx/qla_fw.h | 13 + drivers/scsi/qla2xxx/qla_gbl.h | 22 +- drivers/scsi/qla2xxx/qla_gs.c | 86 ++- drivers/scsi/qla2xxx/qla_init.c | 540 ++++++-------- drivers/scsi/qla2xxx/qla_inline.h | 51 +- drivers/scsi/qla2xxx/qla_iocb.c | 167 +++-- drivers/scsi/qla2xxx/qla_isr.c | 445 +++++------- drivers/scsi/qla2xxx/qla_mbx.c | 410 ++++++++--- drivers/scsi/qla2xxx/qla_mid.c | 2 +- drivers/scsi/qla2xxx/qla_nx.c | 90 +-- drivers/scsi/qla2xxx/qla_nx.h | 3 +- drivers/scsi/qla2xxx/qla_os.c | 435 ++++++++---- drivers/scsi/qla2xxx/qla_sup.c | 148 +++- drivers/scsi/qla4xxx/ql4_def.h | 45 +- drivers/scsi/qla4xxx/ql4_fw.h | 24 + drivers/scsi/qla4xxx/ql4_glbl.h | 9 + drivers/scsi/qla4xxx/ql4_init.c | 5 + drivers/scsi/qla4xxx/ql4_iocb.c | 92 +++ drivers/scsi/qla4xxx/ql4_isr.c | 78 ++ drivers/scsi/qla4xxx/ql4_mbx.c | 23 +- drivers/scsi/qla4xxx/ql4_nx.c | 17 +- drivers/scsi/qla4xxx/ql4_nx.h | 1 + drivers/scsi/qla4xxx/ql4_os.c | 563 ++++++++++++++- drivers/scsi/qla4xxx/ql4_version.h | 2 +- drivers/scsi/scsi.c | 6 - drivers/scsi/scsi_debug.c | 6 +- drivers/scsi/scsi_error.c | 24 +- drivers/scsi/scsi_lib.c | 5 +- drivers/scsi/scsi_transport_fc.c | 30 +- drivers/scsi/scsi_transport_iscsi.c | 268 ++++++- drivers/scsi/scsi_transport_sas.c | 60 +- drivers/scsi/sd.c | 86 ++- drivers/scsi/sd.h | 35 + drivers/scsi/st.c | 11 + drivers/scsi/virtio_scsi.c | 594 ++++++++++++++++ include/linux/libata.h | 2 + include/linux/virtio_ids.h | 1 + include/linux/virtio_scsi.h | 114 +++ include/scsi/fc/fc_ms.h | 213 ++++++ include/scsi/fc_encode.h | 363 +++++++++- include/scsi/iscsi_if.h | 79 +++ include/scsi/libfc.h | 11 + include/scsi/libiscsi.h | 3 +- include/scsi/libiscsi_tcp.h | 2 +- include/scsi/libsas.h | 71 +- include/scsi/sas.h | 4 +- include/scsi/sas_ata.h | 44 +- include/scsi/scsi_cmnd.h | 12 +- include/scsi/scsi_driver.h | 1 + include/scsi/scsi_transport_fc.h | 32 +- include/scsi/scsi_transport_iscsi.h | 22 + include/scsi/scsi_transport_sas.h | 12 +- 154 files changed, 10314 insertions(+), 4417 deletions(-) create mode 100644 Documentation/scsi/bfa.txt create mode 100644 drivers/scsi/virtio_scsi.c create mode 100644 include/linux/virtio_scsi.h create mode 100644 include/scsi/fc/fc_ms.h James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html